Cara Mengatasi php-fpm Pool www High CPU pada aaPanel
Jika Anda menggunakan aaPanel untuk mengelola server web Anda, mungkin pernah mengalami masalah di mana pool PHP-FPM ‘www’ mengonsumsi CPU yang tinggi. Ini bisa menyebabkan server menjadi lambat atau bahkan tidak responsif. Berikut ini adalah beberapa langkah yang bisa Anda lakukan untuk mengatasi masalah tersebut.
1. Analisis Log dan Monitoring
Langkah pertama adalah melakukan analisis terhadap log dan memonitor penggunaan sumber daya untuk memahami apa yang menyebabkan penggunaan CPU yang tinggi.
- Cek Log PHP-FPM:
Anda bisa memeriksa log PHP-FPM untuk melihat apakah ada kesalahan atau pesan yang tidak biasa.
tail -f /www/server/php-fpm/log/php-fpm.log
- Monitor Penggunaan CPU:
Gunakan perintahtop
atauhtop
untuk melihat proses mana yang mengonsumsi CPU paling banyak.
htop


2. Optimalkan Konfigurasi PHP-FPM
Pengaturan default PHP-FPM mungkin tidak optimal untuk kebutuhan aplikasi Anda. Anda bisa mencoba mengubah beberapa parameter konfigurasi.
- Buka File Konfigurasi PHP-FPM:

Sesuaikan Parameter Penting:
pm.max_children
: Jumlah maksimal proses child yang akan dibuat.pm.start_servers
: Jumlah proses child yang akan dibuat saat startup.pm.min_spare_servers
: Jumlah minimal proses child idle.pm.max_spare_servers
: Jumlah maksimal proses child idle. Contoh konfigurasi:
pm = dynamic
pm.max_children = 25
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
3. Batasi dan Optimalkan Penggunaan Script
Terkadang, masalah ini disebabkan oleh script PHP yang tidak efisien. Beberapa hal yang bisa Anda lakukan:
- Profiling dan Debugging:
Gunakan alat profiling seperti Xdebug atau Blackfire untuk mengidentifikasi bagian dari kode yang memakan sumber daya banyak. - Caching:
Implementasikan caching pada level aplikasi untuk mengurangi beban pada PHP-FPM. Anda bisa menggunakan solusi caching seperti Redis atau Memcached.
4. Perbarui dan Optimalkan Server
- Update PHP dan PHP-FPM:
Pastikan Anda menggunakan versi terbaru dari PHP dan PHP-FPM karena update terbaru sering kali mengandung perbaikan performa.
aaPanel -> App Store -> PHP -> Update
- Optimalkan Server:
Pastikan server Anda dioptimalkan dengan baik, mulai dari konfigurasi kernel, penyimpanan, hingga jaringan.
5. Pertimbangkan Load Balancing
Jika masalah terus berlanjut meskipun sudah melakukan optimasi, mungkin saatnya mempertimbangkan untuk menerapkan load balancing.
- Gunakan Load Balancer:
Gunakan alat load balancer seperti Nginx atau HAProxy untuk mendistribusikan beban secara merata di beberapa server. Contoh konfigurasi Nginx:
upstream php_pool {
server 127.0.0.1:9000;
server 127.0.0.2:9000;
}
server {
location ~ \.php$ {
fastcgi_pass php_pool;
...
}
}
Kesimpulan
Masalah CPU tinggi pada pool PHP-FPM ‘www’ bisa disebabkan oleh berbagai faktor, mulai dari konfigurasi yang tidak optimal hingga script PHP yang memakan banyak sumber daya. Dengan langkah-langkah di atas, Anda dapat mendiagnosis dan mengoptimalkan server Anda untuk mengurangi penggunaan CPU dan meningkatkan performa aplikasi Anda. Selalu lakukan monitoring secara berkala dan terus optimalkan konfigurasi sesuai dengan kebutuhan aplikasi.
Semoga artikel ini membantu Anda mengatasi masalah PHP-FPM high CPU pada aaPanel. Selamat mencoba!