Heim >Backend-Entwicklung >PHP-Tutorial >phpfpm verwendet eigene Schritte zur Statusoptimierung

phpfpm verwendet eigene Schritte zur Statusoptimierung

WBOY
WBOYOriginal
2016-07-29 09:14:481662Durchsuche

php-fpm verfügt wie Nginx über eine integrierte Statusseite, die sehr hilfreich ist, um den Status von php-fpm zu verstehen und php-fpm zu überwachen. Für die anschließende Zabbix-Überwachung müssen wir zunächst verstehen, was auf der PHP-FPM-Statusseite vor sich geht.

1. PHP-FPM-Statusfunktion aktivieren

<code><span># cat  /usr/local/php-5.5.10/etc/php-fpm.conf | grep status_path</span>
pm.status_path = /status</code>

2. Nginx/php-FPM neu starten

<code>server {
    listen  *:<span>80</span> default_server;
    server_name _;
    location ~ ^/(status|ping)$
    {
        <span><strong>include</strong></span> fastcgi_params;
        fastcgi_pass <span>127.0</span><span>.0</span><span>.1</span>:<span>9000</span>;
        fastcgi_param SCRIPT_FILENAME <span>$fastcgi_script_name</span>;
    }
}</code>

4. Öffnen Sie die Statusseite

<code>service nginx restart
service php<span>-fpm</span> restart</code>

5. Detaillierte Erklärung des PHP-FPM-Status

<code><span># curl http://www.ttlsa.com/status</span>
pool:                 www
process manager:      dynamic
start time:           <span>14</span>/May/<span>2014</span>:<span>22</span>:<span>40</span>:<span>15</span> +<span>0800</span>
start since:          <span>58508</span>
accepted conn:        <span>33</span>
listen queue:         <span>0</span>
max listen queue:     <span>8</span>
listen queue len:     <span>0</span>
idle processes:       <span>2</span>
active processes:     <span>1</span>
total processes:      <span>3</span>
max active processes: <span>5</span>
max children reached: <span>0</span>
slow requests:        <span>2091</span></code>

Pool – FPM-Poolname, die meisten davon sind www

Prozessmanager – Prozessmanagementmethode, Wert: statisch, dynamisch oder dynamisch auf Abruf
    Startzeit – Startdatum, wenn php-fpm neu geladen wird, wird die Zeit aktualisiert
  • Start seit – Laufzeit
    Accepted conn – Die Anzahl der vom aktuellen Pool akzeptierten Anfragen



    Max Listen Queue – die höchste Anzahl von Anfragen, die in der listen queue Warteschlange 请求等待<strong>队列</strong>,如果这个值不为0,那么要增加FPM的进程数量
    warten Listen-Warteschlangenlänge – Socket-WartezeitWarteschlange Länge
    Leerlaufprozesse – Anzahl der Leerlaufprozesse aktive Prozesse – Anzahl der aktiven Prozesse Gesamtprozesse – Gesamtzahl der Prozesse
    max. aktive Prozesse – die maximale Anzahl aktiver Prozesse (berechnet ab FPM-Start)

    -

    langsame Anfragen – php-fpm Slow-Log ist aktiviert, die Anzahl der langsamen Anfragenmax children reached大道进程最大数量限制的次数,如果这个数量不为0,那说明你的最大进程数量太小了,请改大一点。
    6 Andere Parameter von php-fpm
Einer der personalisierteren Aspekte des PHP- Die FPM-Statusseite ist Es kann Parameter annehmen, einschließlich

,

und
, und die ersten drei Parameter können jeweils mit json kombiniert werden. xmlhtmlfull6.1 JSON
6.2 XML
<code># curl http://<span>127.0</span><span>.0</span><span>.1</span>/status?json
{"<span>pool</span>":<span><span>"www"</span></span>,"<span>process manager</span>":<span><span>"dynamic"</span></span>,"<span>start time</span>":<span><span>1400078415</span></span>,"<span>start since</span>":<span><span>59624</span></span>,"<span>accepted conn</span>":<span><span>27</span></span>,"<span>listen queue</span>":<span><span>0</span></span>,"<span>max listen queue</span>":<span><span>8</span></span>,"<span>listen queue len</span>":<span><span>0</span></span>,"<span>idle processes</span>":<span><span>2</span></span>,"<span>active processes</span>":<span><span>1</span></span>,"<span>total processes</span>":<span><span>3</span></span>,"<span>max active processes</span>":<span><span>5</span></span>,"<span>max children reached</span>":<span><span>0</span></span>,"<span>slow requests</span>":<span><span>2145</span></span>}</code>
6.3 HTML
<code># curl http://127.0.0.1/status?xml
<span><?xml version="1.0" ?></span><span><<span>status</span>></span><span><<span>pool</span>></span>www<span></<span>pool</span>></span><span><<span>process-manager</span>></span>dynamic<span></<span>process-manager</span>></span><span><<span>start-time</span>></span>1400078415<span></<span>start-time</span>></span><span><<span>start-since</span>></span>59640<span></<span>start-since</span>></span><span><<span>accepted-conn</span>></span>36<span></<span>accepted-conn</span>></span><span><<span>listen-queue</span>></span>0<span></<span>listen-queue</span>></span><span><<span>max-listen-queue</span>></span>8<span></<span>max-listen-queue</span>></span><span><<span>listen-queue-len</span>></span>0<span></<span>listen-queue-len</span>></span><span><<span>idle-processes</span>></span>2<span></<span>idle-processes</span>></span><span><<span>active-processes</span>></span>1<span></<span>active-processes</span>></span><span><<span>total-processes</span>></span>3<span></<span>total-processes</span>></span><span><<span>max-active-processes</span>></span>5<span></<span>max-active-processes</span>></span><span><<span>max-children-reached</span>></span>0<span></<span>max-children-reached</span>></span><span><<span>slow-requests</span>></span>2145<span></<span>slow-requests</span>></span></code>
6.4 vollständig
<code># curl http://127.0.0.1/status?html
<span><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"></span><span><<span>html</span><span>xmlns</span>=<span>"http://www.w3.org/1999/xhtml"</span><span>xml:lang</span>=<span>"en"</span><span>lang</span>=<span>"en"</span>></span><span><<span>head</span>></span><span><<span>title</span>></span>PHP-FPM Status Page<span></<span>title</span>></span><span></<span>head</span>></span><span><<span>body</span>></span><span><<span>table</span>></span><span><<span>tr</span>></span><span><<span>th</span>></span>pool<span></<span>th</span>></span><span><<span>td</span>></span>www<span></<span>td</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>th</span>></span>process manager<span></<span>th</span>></span><span><<span>td</span>></span>dynamic<span></<span>td</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>th</span>></span>start time<span></<span>th</span>></span><span><<span>td</span>></span>14/May/2014:22:40:15 +0800<span></<span>td</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>th</span>></span>start since<span></<span>th</span>></span><span><<span>td</span>></span>59662<span></<span>td</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>th</span>></span>accepted conn<span></<span>th</span>></span><span><<span>td</span>></span>8<span></<span>td</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>th</span>></span>listen queue<span></<span>th</span>></span><span><<span>td</span>></span>0<span></<span>td</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>th</span>></span>max listen queue<span></<span>th</span>></span><span><<span>td</span>></span>8<span></<span>td</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>th</span>></span>listen queue len<span></<span>th</span>></span><span><<span>td</span>></span>0<span></<span>td</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>th</span>></span>idle processes<span></<span>th</span>></span><span><<span>td</span>></span>2<span></<span>td</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>th</span>></span>active processes<span></<span>th</span>></span><span><<span>td</span>></span>1<span></<span>td</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>th</span>></span>total processes<span></<span>th</span>></span><span><<span>td</span>></span>3<span></<span>td</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>th</span>></span>max active processes<span></<span>th</span>></span><span><<span>td</span>></span>5<span></<span>td</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>th</span>></span>max children reached<span></<span>th</span>></span><span><<span>td</span>></span>0<span></<span>td</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>th</span>></span>slow requests<span></<span>th</span>></span><span><<span>td</span>></span>2147<span></<span>td</span>></span><span></<span>tr</span>></span><span></<span>table</span>></span><span></<span>body</span>></span><span></<span>html</span>></span></code>
6.5 vollständige ausführliche Erklärung
<code># curl http://127.0.0.1/status?full
pool:                 www
process manager:      dynamic
start time:           14/May/2014:22:40:15 +0800
start since:          59695
accepted conn:        1
listen queue:         0
max listen queue:     8
listen queue len:     0
idle processes:       2
active processes:     1
total processes:      3
max active processes: 5
max children reached: 0
slow requests:        2148

************************
pid:                  29050
state:                Idle
start time:           15/May/2014:15:09:32 +0800
start since:          338
requests:             62
request duration:     1025585
request method:       GET
request URI:          /index.php
content length:       0
user:                 -
script:               /data/site/www.ttlsa.com/index.php
last request cpu:     45.83
last request memory:  24903680
.....省略几个PID....</code>
    pid – Prozess-PID, Sie können diesen Prozess alleine beenden kann diese PID verwenden, um einen lang laufenden Prozess abzubrechen
  • state – der Status des aktuellen Prozesses (Idle, Running, …)
  • Startzeit – das Datum, an dem der Prozess gestartet wurde
  • Start seit – aktuelle Prozesslaufzeit
    Anfragen – Wie viele Anfragen wurden vom aktuellen Prozess verarbeitet
    Anfragedauer – Anfragedauer (subtil)
    Anfragemethode – Anfragemethode (GET, POST, …)
    Anfrage-URI – Anfrage-URI
    Inhaltslänge – Inhaltslänge anfordern (nur POST)
    Benutzer – Benutzer (PHP_AUTH_USER) (oder „-“, wenn nicht festgelegt)
    script – PHP-Skript (oder „-“, wenn nicht festgelegt)
    letzte Anforderung CPU – CPU-Auslastung der letzten Anforderung.
    Last Request Memorythe – der von der letzten Anfrage verwendete Speicher


    7. Die vollständige
php-fpm-Statusseite ist sehr nützlich. Wenn Sie Zabbix oder Nagios-Überwachung verwenden, können Sie die Verwendung von XML in Betracht ziehen oder die Standardmethode. Wenn Sie das Internet nutzen, wird die Verwendung von HTML empfohlen, damit die Tabelle übersichtlicher wird.

Das Obige stellt die Schritte vor, mit denen phpfpm seine eigene Statusoptimierung verwendet, einschließlich der relevanten Inhalte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

Stellungnahme:
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