2011-07-20 19 views
9

Bütün gün bu sorunla başa çıkıyorum ve bu beni deli ediyor. Tüm Google sonuçları ve aramaları burada çıkmazlara yol açar. Umarım birileri kendim ve gelecekteki kurbanlar için bir çözüm sağlamak için benimle çalışabilir. İşte başlıyoruz.Yüksek yük altında NGINX + PHP5-FPM segfaults

Günde 3 milyondan fazla sayfa görüntülemesiyle çok popüler bir web sitesi çalıştırıyorum. Ortalamada bu, saniyede 34 sayfa görüntülemesidir, ancak daha gerçekçi bir şekilde, yoğun saatlerde, saniyede 300 sayfa görüntüleme sayısına ulaşır. Bunları istek olarak düşün.

2 E5620 işlemci, 12 GB RAM ve bir Micron P300 6Gb/s SSD içeren bir Ubuntu 10.04 64 bit sunucu çalıştırıyorum. Yoğun saatlerde CPU ve bellek yükü ortalamadır (% 20-30 CPU ve hafızanın yarısı kullanılır).

Bu siteye güç veren yazılım: NGINX, MySQL, PHP5-FPM, PHP-APC ve Memcached. Tamam, şimdi nihayet mesajın eti, işte benim hata günlüklerim. Bu hataların birkaçı var.

/var/log/php5-fpm

Temmuz 20 14: 49: 49: için 47,337092 [DİKKAT] hazır 47,289895 [DİKKAT] fpm çalıştıran, Temmuz 20 14 29373

Pid bağlantıları

20 Temmuz 14 işlemek: 51: 23,957504 [HATA] [havuzu www] bir veya daha fazla çocuk (lar) işlemi aktivitesini almayı başaramadı. Daha sonra tekrar deneyeceğim.

20 Temmuz 14: 51: 41,846439 [UYARI] [havuzu www] 20 Temmuz 14 başlamasından

den 114,518174 saniye sonra kodu 1 ile çıkıldı çocuk 29534: 51: çocuk 29597 başladı 41,846797 [DİKKAT] [havuzu www]

20 Temmuz 14: 51: 41,896653 [UYARI] [havuzu www] çocuk 29.408 20 Temmuz başından

den 114,596706 saniye sonra sinyali 14 11 SIGSEGV çıkıldı: 51: 41,897178 [DİKKAT] [havuzu www] çocuk 29598 Temmuz 20

ait 14: 51: 41,903286 [DİKKAT] [Havuzu www] 20 Temmuz başından

den 114,605761 saniye sonra kodu 1 ile 14 çıkıldı çocuk 29398: 51: 41,903719 [DİKKAT] [havuzu www] çocuk 29600 20 Temmuz 14

başladı: 51: 41,907816 [UYARI] [havuzu www] 20 Temmuz başından

den 114,601417 saniye sonra kodu 1 ile 14 çıkıldı çocuk 29437: 51: 41,908253 [DİKKAT] [havuzu www] çocuk 29601 20 Temmuz 14

başladı: 51: 41,916002 [UYARI] [havuzu www] çocuk 29513 baştan 114,592514 saniye sonra kodu 1 ile çıkıldı

20 Temmuz 14: 51: 41,916501 [DİKKAT] [havuzu www] çocuk 29602 20 Temmuz 14

başladı: 51: 41,916558 [UYARI] [havuzu www] çocuk 29494 11 SIGSEGV başından

itibaren 114,597355 saniye sonra sinyali çıkıldı

20 Temmuz 14: 51: 41,916873 [DİKKAT] [havuzu www] çocuk 29603 14 20 Temmuz

başladı: 51: 41,921389 [UYARI] [havuzu www] 114 sonra kodu 1 ile çıkıldı çocuk 29.502.

/var/log/nginx/error.log 2011/07/20 15:48:42 [hata] 29583 # 0 baştan 600.405 saniye: tarafından Bağlantı sıfırlama: * 569.743 readv() (104 başarısız akran) akıntıya bakarken, istemci: 77.223.197.193, sunucu: domain.com, istek: "GET /favicon.ico HTTP/1.1", yukarı: "fastcgi: //127.0.0.1: 9000", host: "www. domain.com "

2011/07/20 15:48:42 [error] 29578 # 0: * 571695 readv() başarısız oldu (104: Bağlantıyı eş tarafından sıfırlandı) akış yukarı okurken, istemci: 150.70.64.196, sunucu : domain.com, istek: "GET/page HTTP/1.0", upstream: "fastcgi: //127.0.0.1: 9000", ev sahibi: "www.domain.com"

2011/07/20 15:48:42 [error] 29581 # 0: * 571050 readv() başarısız oldu (104: Aktarım sırasında bağlantı sıfırlandı), akış yukarı, istemci: 110.136.157.66, server: domain.com, request: "GET/page HTTP/1.1", giriş: "fastcgi: //127.0.0.1: 9000", host: "www.domain.com"

2011/07/20 15:48:42 [hata] 29581 # 0: * 564892 readv() başarısız oldu (104: Aktarıcı tarafından sıfırlandı), istemci: 110.136.161.214, sunucu: domain.com, istek: "GET/page HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000 ", host:" www.domain.com "

2011/07/20 15:48:42 [error] 29585 # 0: * 456171 readv() başarısız oldu (104: Bağlantı sıfırlandı. akran) akıntıya bakarken, istemci: 93.223.33.135, sunucu: domain.com, istek: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi: //127.0.0.1: 9000 ", host:" www.domain.com "

2011/07/20 15:48:42 [hata] 29585 # 0: * 471192 readv() başarısız oldu (104: Bağlantıyı eş tarafından sıfırlandı) client: 74.90.33.142, server: domain.com, request: "GET/page HTTP/1.1", upstream: "fastcgi: //127.0.0.1: 9000", ev sahibi: "www.domain.com"

2011/07/20 15:48:42 [hata] 29580 # 0: * 570132 readv() başarısız oldu (104: Aktarım sırasında bağlantı sıfırlandı), akış yukarı, istemci: 180.246.182.191, server: domain.com, request: " GET/page HTTP/1.1 ", upstream:" fastcgi: //127.0.0.1: 9000 ", host:" www.domain.com "

Son olarak, PHP'yi devre dışı bırakmayı denediğime işaret etmek istiyorum. APC, opt cacher ile bir hata olup olmadığını görmek için ama segfault hala devam ediyor. Ayrıca PHP5-SUHOSIN yüklü ve ben de devre dışı bıraktım, ancak hatalar hala devam ediyor.

+0

php'nin hangi versiyonunu kullanıyorsunuz? Apc'yi kurduktan sonra bize apc konfigürasyonunun detayını verin veya php.ini ve php-fpm.conf dosyasını yapıştırın. –

+0

Merhaba Aco, probleminize bir çözüm buldunuz mu? Php-fpm'den aldığınız tek hata bir seg hatasıdır. – Bretticus

cevap

0

2011/07/20 15:48:42 [hata] 29583 # 0: * 569743 readv() başarısız oldu (104: Aktarım sırasında bağlantı sıfırlandı), akış yukarı okurken istemci: 77.223.197.193, sunucu: domain.com , request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi: //127.0.0.1: 9000", host: "www.domain.com"

sizin için yapılandırmanızla ilgili bir sorun upstream sunucu/yönlendirici/istemci sıfırlama? Nginx'in talebi reddetti ama tarif ettiğin yükün 3 katı bir sitede çalışıyordum, bu mesajı hiç görmedim, istenen kaynak bir php-fpm işlemine bile teslim edilmedi, onun bir favicon'u

ve php-fpm mesajları için Çocuklar 114 saniye sınırından sonra durmak gibi görünüyor, php.ini dosyanız tarafından belirlenen bir sınır mı?Php olarak php hatalar genellikle yüksek bellek kullanırken oluşur, php betikleri bellek sızıntısı olabilir ve sonunda bellek limiti ulaşabilir, php-fpm süreçleri daha az istekleri hizmet vermektedir bellek sızıntıları ile başa çıkmak yardımcı olur

+0

Memory_limit'i daha yüksek bir değere ayarlıyorum ve çalıştı. – Flow

0

Benim cevabım burada görüyorum Sorunuzun (yaklaşık nginx + magento ve yüksek yük)

NGINX-FPM configuration settings for magento

Onun değil demek başına doğrudan bir cevap ile ilgili, ancak bu hataları ortadan kaldırmak yardımcı olmak için nginx + php-fpm yapılandırmak yardımcı olabilir.

1

Bu sorun sadece benim için oldu.

PHP5-FPM, çocuklarının çoğunda segfaults yaşıyordu. Benim durumumda, harddisk’te 0byte’imiz vardı. Hızlı bir günlük parçalama segfaultları durdurdu. Muhtemelen Suhosin devre dışı bırak ths kullanan

0

/etc/php5/fpm/conf.d altında suhosin.ini ve php5-fpm hizmet

Suhosin sürümünü kontrol edin ve başka bir yüklemeye çalıştığınızda yeniden başlatın.