ホームページ  >  記事  >  バックエンド開発  >  nginx リバースプロキシ最適化 (ファイル記述子)

nginx リバースプロキシ最適化 (ファイル記述子)

WBOY
WBOYオリジナル
2016-08-08 09:24:211148ブラウズ

lsof ツール

ファイル記述子は、プロセスによって開かれた各ファイルとソケットを識別する単純な整数です。最初に開かれたファイルは 0、2 番目のファイルは 1、というようになります。 Linux オペレーティング システムでは通常、各プロセスで開くことができるファイルの数に制限があり、Linux のシステム レベルの制限は通常 1024 です。
同時実行性が増加すると、元のシステムのデフォルトの 1024 個のファイル記述子では明らかに不十分になり、時間が長くなると、システムは次のエラーを報告する可能性があります:

オープン ファイルの制限...

nginx プロセスによって占有されているファイルを表示します。記述子、次のコマンドを実行できます:

<code>lsof <span>| grep nginx</span></code>

部分結果

<code>nginx     <span>6845</span>    nobody    <span>6</span>u     <span>IPv4</span><span>179045</span>      0t<span>0</span><span>TCP</span> *<span>:http</span> (<span>LISTEN</span>)
nginx     <span>6845</span>    nobody    <span>7</span>u     <span>IPv4</span><span>179046</span>      0t<span>0</span><span>TCP</span> *<span>:ddi-tcp-</span><span>1</span> (<span>LISTEN</span>)
nginx     <span>6845</span>    nobody    <span>8</span>u     unix <span>0xffff88005eda0c80</span>      0t<span>0</span><span>179050</span> socket
nginx     <span>6845</span>    nobody    <span>9</span>u      <span>REG</span><span>0</span>,<span>9</span><span>0</span><span>3660</span> anon_inode
nginx     <span>6845</span>    nobody   <span>10</span>u      <span>REG</span><span>0</span>,<span>9</span><span>0</span><span>3660</span> anon_inode</code>

*注: 2 行目は nginx のプロセス番号です

<code><span># 统计nginx进程打开了多少个文件数可以用下边的命令</span>lsof <span>|grep nginx|wc –l</span></code>

方法 1:

上記の部分結果の 2 列目は nginx のプロセス番号です

りー


このプロセスによって生成されたファイルを確認してから、制限ファイルを確認してください

<code><span>cd</span> /prec/<span>6845</span></code>


8 行目、最大オープン ファイル数は 51200 (デフォルトは 1024) です。これは、

nginx.conf の上部ボックスに次の行を追加したためです:

<code>more limits</code>

Method 2:

Execution:

<code>worker_rlimit_nofile 51200;</code>


実行:

<code>ulimit <span>-a</span></code>

以上です

方法 3:

<code>ulimit <span>-SHn</span><span>65535</span></code>

実行:

<code>[root<span>@localhost</span><span>6845</span>]# sysctl -a | grep <span>file</span>-<span>max</span>
fs.<span>file</span>-<span>max</span> = <span>201604</span>
[root<span>@localhost</span><span>6845</span>]#</code>

永続的に有効にするには、編集:

<code>[root<span>@localhost</span><span>6845</span>]# sysctl -w fs.<span>file</span>-<span>max</span>=<span>65535</span>
fs.<span>file</span>-<span>max</span> = <span>65535</span>
[root<span>@localhost</span><span>6845</span>]# sysctl -a | grep <span>file</span>-<span>max</span>
fs.<span>file</span>-<span>max</span> = <span>65535</span></code>

ファイルに次の行を追加します:

<code>vim /etc/sysctl<span>.conf</span></code>

次に、次のコマンドを実行して有効にします。 :

<code>fs.<span>file</span>-<span>max</span>=<span>65535</span></code>

以上、nginx リバースプロキシ最適化 (ファイル記述子) について内容を含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。