Saat mengembangkan situs web menggunakan PHP, jika beberapa halaman dinamis PHP sangat lambat untuk diakses setelah diluncurkan, kita dapat menganalisis kemacetan situs web melalui log lambat php-fpm.
Pengaturan slowlog php-fpm memungkinkan kita untuk melihat proses php mana yang terlalu lambat dan menyebabkan masalah situs web.
Pertama, periksa semua proses melalui perintah top -c untuk melihat alamat file konfigurasi yang dimuat oleh php-fpm, seperti yang ditunjukkan pada gambar di bawah ini:
Konfigurasi FPM
parameter: -p, secara dinamis memodifikasi --prefix di baris perintah
include=etc/php-fpm.d/*.conf untuk berisi satu atau lebih file jika ada fungsi glob(3) (glob() mengembalikan nama file atau direktori yang cocok dengan pola yang ditentukan)
php-fpm memuat file sub-konfigurasi, variabel $pool dapat digunakan dalam arahan apa pun, dan itu akan menggantikan nama kumpulan proses yang sesuai. Misalnya: di sini[www]
Mengaktifkan log lambat
masuk/usr/local/etc/php-fpm.dSub-konfigurasi file, temukan www.conf (sesuai dengan situasi Anda yang sebenarnya), PHP 5.3.3 dan versi yang lebih baru diatur sebagai berikut:
; Batas waktu untuk melayani satu permintaan setelah itu backtrace PHP akan ; dibuang ke file 'slowlog'. Nilai '0s' berarti 'mati'. ; Unit yang tersedia: s(econds)(default), m(inutes), h(ours), atau d(ays) ; Nilai Default: 0 request_slowlog_timeout = 1 detik ; File log untuk permintaan lambat ; Nilai Default: /usr/local/php/log/php-fpm.log.slow slowlog = /usr/local/php/log/php-fpm.log.slow ; Batas waktu untuk melayani satu permintaan setelah proses pekerja akan ; dibunuh. Opsi ini harus digunakan ketika opsi 'max_execution_time' ini ; tidak menghentikan eksekusi skrip karena alasan tertentu. Nilai '0' berarti 'mati'. ; Unit yang tersedia: s(econds)(default), m(inutes), h(ours), atau d(ays) ; Nilai Default: 0 request_terminate_timeout = 10 detik Catatan: request_terminate_timeout Hentikan proses yang telah berjalan terlalu lama secara langsung
request_slowlog_timeout Menulis file yang terlalu lambat untuk dieksekusi ke log
Mulai sekarang, Anda dapat mengoptimalkan file program sesuai dengan log eksekusi lambat /usr/local/php/log/php-fpm.log.slow!
|