Heim > Backend-Entwicklung > PHP-Tutorial > Nginx-Reverse-Proxy-Optimierung (Dateideskriptor)

Nginx-Reverse-Proxy-Optimierung (Dateideskriptor)

WBOY
Freigeben: 2016-08-08 09:24:21
Original
1166 Leute haben es durchsucht

lsof-Tool

Der Dateideskriptor ist eine einfache Ganzzahl, die jede vom Prozess geöffnete Datei und jeden Socket identifiziert. Die erste geöffnete Datei ist 0, die zweite ist 1 und so weiter. Linux-Betriebssysteme begrenzen normalerweise die Anzahl der Dateien, die jeder Prozess öffnen kann, und Linux hat normalerweise ein Limit auf Systemebene von 1024.
Mit zunehmender Parallelität reichen die standardmäßigen 1024-Dateideskriptoren des ursprünglichen Systems definitiv nicht aus. Je länger die Zeit, desto mehr meldet das System möglicherweise den folgenden Fehler:

Limits für offene Dateien…..

Um die vom Nginx-Prozess belegten Dateideskriptoren anzuzeigen, können Sie den folgenden Befehl ausführen:

<code>lsof <span>| grep nginx</span></code>
Nach dem Login kopieren

Teilergebnisse

<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>
Nach dem Login kopieren

*Hinweis: Die zweite Zeile ist die Prozessnummer von Nginx

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

Methode 1:

Die zweite Spalte des obigen Ergebnisses ist die Prozessnummer von Nginx

<code><span>cd</span> /prec/<span>6845</span></code>
Nach dem Login kopieren


Sie können die durch diesen Prozess generierten Dateien sehen und sich dann die Grenzwertdatei

<code>more limits</code>
Nach dem Login kopieren


ansehen Die achte Zeile, Max open files ist 51200 (Standard ist 1024), das liegt daran, dass

ich im oberen Feld von nginx.conf eine Zeile hinzugefügt habe:

<code>worker_rlimit_nofile 51200;</code>
Nach dem Login kopieren

Methode 2:

Ausführung:

<code>ulimit <span>-a</span></code>
Nach dem Login kopieren


Ausführen:

<code>ulimit <span>-SHn</span><span>65535</span></code>
Nach dem Login kopieren

dann

Methode 3:

<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>
Nach dem Login kopieren

Ausführen:

<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>
Nach dem Login kopieren

Wenn Sie möchten Um es dauerhaft zu machen, bearbeiten Sie die Datei

<code>vim /etc/sysctl<span>.conf</span></code>
Nach dem Login kopieren

, fügen Sie die folgende Zeile hinzu:

<code>fs.<span>file</span>-<span>max</span>=<span>65535</span></code>
Nach dem Login kopieren

und führen Sie dann den folgenden Befehl aus, damit er wirksam wird:

<code>sysctl <span>-p</span></code>
Nach dem Login kopieren

Das Obige stellt die Nginx-Reverse-Proxy-Optimierung (Dateideskriptor) vor, einschließlich Aspekten des Inhalts. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage