Strategi Utama Optimasi PHP
Optimasi PHP server berfokus pada pengurangan waktu eksekusi skrip dan efisiensi penggunaan memori. Langkah paling krusial adalah memastikan penggunaan versi PHP terbaru (PHP 8.2 atau 8.3) yang memiliki JIT (Just-In-Time) compiler, serta konfigurasi yang tepat pada PHP-FPM dan OPcache.
Konfigurasi OPcache
OPcache menyimpan bytecode skrip yang telah dikompilasi ke dalam memori bersama (shared memory), sehingga PHP tidak perlu memparsing skrip setiap kali ada permintaan. Edit file php.ini Anda dengan parameter berikut:
opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0Catatan: Set opcache.validate_timestamps=0 hanya untuk lingkungan produksi. Jika Anda melakukan perubahan kode, Anda harus me-restart layanan PHP-FPM.
Tuning PHP-FPM
PHP-FPM (FastCGI Process Manager) mengelola proses PHP. Pengaturan pm.max_children harus disesuaikan dengan RAM yang tersedia. Gunakan rumus: (Total RAM - RAM Sistem) / Rata-rata ukuran proses PHP.
| Parameter | Rekomendasi | Fungsi |
|---|---|---|
| pm | dynamic | Mode manajemen proses |
| pm.max_children | 50-100 | Jumlah proses maksimal |
| pm.start_servers | 10 | Proses saat startup |
| pm.min_spare_servers | 5 | Proses idle minimum |
| pm.max_spare_servers | 20 | Proses idle maksimum |
Implementasi JIT (Just-In-Time)
JIT pada PHP 8+ meningkatkan performa secara signifikan untuk komputasi berat. Aktifkan di php.ini:
opcache.jit_buffer_size=100M
opcache.jit=1255Tips Troubleshooting
- Gunakan
php-fpm -tuntuk memvalidasi konfigurasi sebelum restart. - Pantau penggunaan memori dengan perintah
topatauhtop. - Gunakan
opcache_get_status()untuk memonitor efektivitas cache. - Pastikan ekstensi yang tidak perlu dinonaktifkan untuk mengurangi overhead memori.