NGINX + PHP5-FPM segfaults unter hoher Last

Habe ich mit diesem problem beschäftigt den ganzen Tag und es treibt mich in den Wahnsinn. Alle Google-Ergebnisse und Recherchen hier führen zu Sackgassen. Ich hoffe, jemand kann mir eine Lösung zu bieten für mich und die zukünftigen Opfer. Hier gehen wir.

Ich arbeite mit einer sehr beliebten website mit über 3M Seite Ansichten pro Tag. Im Durchschnitt ist 34 Seite Ansichten pro Sekunde, aber mehr realistisch, während der peak-Stunden, es wird über 300 Seitenaufrufe pro Sekunde. Denken Sie an diese als Anfragen.

Mir läuft ein Ubuntu 10.04 64-bit-server mit 2 E5620 CPUs, 12 GB RAM, und eine Micron P300 6Gb/s SSD. Während der peak-Stunden die CPU-und Speicher-Last-Durchschnitt (20-30% CPU und die Hälfte des Arbeitsspeichers verwendet wird).

Die software, die Befugnisse dieser Website ist: NGINX, MySQL, PHP5-FPM, PHP-APC und Memcached. Ok, jetzt endlich das Fleisch von der post, hier sind meine error-logs. Es gibt eine Reihe von diesen Fehler protokolliert.

/var/log/php5-fpm

Jul 20 14:49:47.289895 [HINWEIS] fpm läuft, pid 29373

Jul 20 14:49:47.337092 [HINWEIS] bereit steht, mit verbindungen

Jul 20 14:51:23.957504 [ERROR] [pool www] unable to retrieve-Prozess Aktivität von einem oder mehr Kind(ern). Versuchen Sie es später erneut.

Jul 20 14:51:41.846439 [WARNUNG] [pool www] Kind 29534 beendet mit code 1 nach 114.518174 Sekunden vom start

Jul 20 14:51:41.846797 [MITTEILUNG] [pool www] Kind 29597 begann

Jul 20 14:51:41.896653 [WARNUNG] [pool www] Kind 29408 exited on signal 11 SIGSEGV nach 114.596706 Sekunden vom start

Jul 20 14:51:41.897178 [MITTEILUNG] [pool www] Kind 29598 begann

Jul 20 14:51:41.903286 [WARNUNG] [pool www] Kind 29398 beendet mit code 1 nach 114.605761 Sekunden vom start

Jul 20 14:51:41.903719 [MITTEILUNG] [pool www] Kind 29600 begann

Jul 20 14:51:41.907816 [WARNUNG] [pool www] Kind 29437 beendet mit code 1 nach 114.601417 Sekunden vom start

Jul 20 14:51:41.908253 [MITTEILUNG] [pool www] Kind 29601 begann

Jul 20 14:51:41.916002 [WARNUNG] [pool www] Kind 29513 beendet mit code 1 nach 114.592514 Sekunden vom start

Jul 20 14:51:41.916501 [MITTEILUNG] [pool www] Kind 29602 begann

Jul 20 14:51:41.916558 [WARNUNG] [pool www] Kind 29494 exited on signal 11 SIGSEGV nach 114.597355 Sekunden vom start

Jul 20 14:51:41.916873 [MITTEILUNG] [pool www] Kind 29603 begann

Jul 20 14:51:41.921389 [WARNUNG] [pool www] Kind 29502 beendet mit code 1 nach 114.600405 Sekunden vom start

/var/log/nginx/error.melden Sie
2011/07/20 15:48:42 [Fehler] 29583#0: *569743 readv() failed (104: Connection reset by peer) beim Lesen upstream, client: 77.223.197.193, server: domain.com, Anfrage: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.domain.com"

2011/07/20 15:48:42 [Fehler] 29578#0: *571695 readv() failed (104: Connection reset by peer) beim Lesen upstream, client: 150.70.64.196, server: domain.com, Anfrage: "GET /Seite HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "www.domain.com"

2011/07/20 15:48:42 [Fehler] 29581#0: *571050 readv() failed (104: Connection reset by peer) beim Lesen upstream, client: 110.136.157.66, server: domain.com, Anfrage: "GET /Seite HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.domain.com"

2011/07/20 15:48:42 [Fehler] 29581#0: *564892 readv() failed (104: Connection reset by peer) beim Lesen upstream, client: 110.136.161.214, server: domain.com, Anfrage: "GET /Seite HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.domain.com"

2011/07/20 15:48:42 [Fehler] 29585#0: *456171 readv() failed (104: Connection reset by peer) beim Lesen upstream, client: 93.223.33.135, server: domain.com, Anfrage: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.domain.com"

2011/07/20 15:48:42 [Fehler] 29585#0: *471192 readv() failed (104: Connection reset by peer) beim Lesen upstream, client: 74.90.33.142, server: domain.com, Anfrage: "GET /Seite HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.domain.com"

2011/07/20 15:48:42 [Fehler] 29580#0: *570132 readv() failed (104: Connection reset by peer) beim Lesen upstream, client: 180.246.182.191, server: domain.com, Anfrage: "GET /Seite HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.domain.com"

Schließlich möchte ich darauf hinweisen, dass ich habe versucht zu deaktivieren, PHP-APC, um zu sehen, ob es ein Fehler war mit der opt-cacher, aber die segfaults noch blieb. Ich habe auch PHP5-SUHOSIN installiert ist und ich es deaktiviert auch, aber der Fehler noch immer passiert.

  • welche php version verwenden Sie... Sie sagen, dass Sie installiert haben, apc, dann geben Sie uns die detail, die Sie von apc-Konfiguration oder pastebin Sie php.ini und php-fpm.conf-Datei dies wird uns helfen, Ihnen zu helfen
  • Hallo Aco, haben Sie jemals finden eine Lösung für Ihr problem? Es ist frustrierend, dass der einzige Fehler, den Sie bekommen von php-fpm ist ein seg fault.
InformationsquelleAutor Aco | 2011-07-20
Schreibe einen Kommentar