PHP kullanarak bir web sitesi geliştirirken, bazı PHP dinamik sayfalarına lansman sonrası erişim çok yavaş oluyorsa, php-fpm yavaş günlükleriyle web sitesinin darboğazını analiz edebiliriz.
PHP-FPM yavaşlama ayarı, hangi PHP işlemlerinin çok yavaş olduğunu ve web sitesi sorunlarına yol açtığını görmemizi sağlar.
Öncelikle, aşağıdaki şekilde gösterildiği gibi, php-fpm tarafından yüklenen yapılandırma dosyası adresini görmek için üst -c komutuyla tüm süreçleri kontrol edin:
FPM yapılandırması
parametre: -p, komut satırında --ön eki dinamik olarak değiştirin
include=etc/php-fpm.d/*.conf ile bir veya daha fazla dosya içerir ve eğer glob(3) varsa (glob() fonksiyonu, belirtilen desenle uyumlu bir dosya adı veya dizin döndürür)
php-fpm bir alt yapılandırma dosyası yükler, $pool değişken herhangi bir direktifte kullanılabilir ve ilgili süreç havuzu adını değiştirir. Örneğin: burada[www]
Yavaş kütükleri açın
girmek/usr/local/etc/php-fpm.dAlt yapılandırma dosyası, www.conf'u bulun (gerçek durumunuza göre), PHP 5.3.3 ve sonraki sürümler aşağıdaki şekilde ayarlanmıştır:
; Tek bir talebin servis edilmesi için zaman aşımı, ardından bir PHP geri izleme işlemi yapılır ; 'slowlog' dosyasına atıldı. '0'lar' değeri 'kapalı' demektir. ; Mevcut birimler: s(econds)(default), m(inutes), h(ours) veya d(ays) ; Varsayılan Değer: 0 request_slowlog_timeout = 1s ; Yavaş istekler için log dosyası ; Varsayılan Değer: /usr/local/php/log/php-fpm.log.slow slowlog = /usr/local/php/log/php-fpm.log.slow ; Tek bir talebin tebliği için zaman aşımı, ardından işçi süreci ; öldürülecek. Bu seçenek, 'max_execution_time' ini seçeneği olduğunda kullanılmalıdır ; Bir sebepten dolayı script çalıştırmayı durdurmuyor. '0' değeri 'kapalı' demektir. ; Mevcut birimler: s(econds)(default), m(inutes), h(ours) veya d(ays) ; Varsayılan Değer: 0 request_terminate_timeout = 10 saniye Not: request_terminate_timeout Çok uzun süredir çalışan bir süreci doğrudan sonlandırın
request_slowlog_timeout Log'a çalıştırılması çok yavaş olan dosyaları yaz
Bundan sonra, program dosyalarını yavaş yürütme loguna göre optimize edebilirsiniz /usr/local/php/log/php-fpm.log.slow!
|