--- title: Apa Itu PHP-FPM? Worker PHP, Konfigurasi, dan Kaitannya dengan Performa description: PHP-FPM menjalankan kode PHP lewat sekumpulan worker yang siap melayani request. Ini penjelasan cara kerja, konfigurasi worker, dan dampaknya ke performa. canonical: https://penasihathosting.com/wikihosting/php-fpm type: wiki locale: id updated: 2026-09-29 author: Willya Randika --- # Apa Itu PHP-FPM? Worker PHP, Konfigurasi, dan Kaitannya dengan Performa ## Overview - **Summary:** PHP-FPM menjalankan kode PHP lewat sekumpulan worker yang siap melayani request. Ini penjelasan cara kerja, konfigurasi worker, dan dampaknya ke performa. - **Author:** Willya Randika ([profile](/penulis/willya-randika)) ## Article ## Apa Itu PHP-FPM? PHP-FPM (FastCGI Process Manager) adalah program yang menjalankan kode [PHP](/wikihosting/php) dan melayaninya lewat protokol FastCGI ke web server seperti Nginx atau Apache. Ketika pengunjung meminta halaman WordPress, web server tidak mengeksekusi PHP sendiri — ia meneruskan pekerjaan itu ke PHP-FPM. Cara paling mudah memahaminya: PHP-FPM adalah **pool pekerja**. Ada sejumlah worker yang sudah hidup dan menunggu. Datang request, satu worker mengambilnya, mengerjakan, lalu kembali standby. 💡 Analogi Sederhana: Seperti kasir minimarket. Manajer menentukan berapa kasir yang buka: 3 di jam sepi, 10 saat ramai. Pelanggan yang datang dilayani kasir yang sedang bebas. Kalau semua kasir sibuk dan antrean panjang sudah penuh, pelanggan baru tidak dilayani — itu persis yang terjadi saat worker PHP-FPM habis. ## Cara Kerja PHP-FPM Rantai permintaannya begini: 1. Web server menerima request halaman dinamis. 2. Request diteruskan lewat FastCGI ke PHP-FPM. 3. Master process PHP-FPM memilih worker yang bebas dari pool. 4. Worker mengeksekusi skrip PHP — memanggil plugin, query database, menyusun HTML. 5. Hasil dikembalikan ke web server, lalu ke browser. Worker kembali ke pool. Konfigurasi pool menentukan perilaku sistem. Mode **dynamic** menambah dan mengurangi worker sesuai beban. Mode **static** menahan jumlah worker tetap. Mode **ondemand** menyalakan worker hanya saat dibutuhkan — cocok untuk server kecil dengan traffic jarang. ## Angka Worker dan Kaitannya dengan Hosting Setiap worker PHP-FPM memakan memori — biasanya puluhan hingga ratusan MB tergantung aplikasinya. Artinya jumlah worker dibatasi RAM Anda, bukan sebaliknya. [VPS](/vps-hosting) 1 GB hanya bisa menampung sedikit worker aktif; begitu visitor serentak melewati jumlah itu, request mulai mengantre. Ini tersambung langsung dengan konsep **entry processes** di shared hosting ([penjelasan di sini](/wikihosting/entry-processes)). Banyak provider membatasi berapa proses PHP yang boleh hidup bersamaan per akun. Website yang lambat saat jam ramai tapi normal saat sepi hampir selalu bersinggungan dengan batas ini. Kalau Anda mengelola [VPS unmanaged](/unmanaged-vps), angka `pm.max_children` adalah setting paling krusial: terlalu kecil membuat antrean, terlalu besar membuat RAM jebol dan server mulai swap. ## Kesalahan Umum dan Tips **Menaikkan max_children sebanyak mungkin.** Worker tanpa batas hanya memindahkan masalah dari CPU ke memori. Server yang kehabisan RAM akan swap — dan swap membuat website justru jauh lebih lambat. Hitung dari RAM yang tersedia, bukan dari angka besar. **Tidak menyentuh default di server kecil.** Konfigurasi bawaan sering ditujukan untuk dedicated server. VPS 1 GB sebaiknya menurunkan jumlah worker, bukan membiarkannya apa adanya. **Mencampur masalah PHP-FPM dengan database.** Saat traffic naik, yang macet bisa jadi database yang tidak sanggup melayani banyak koneksi paralel, bukan worker-nya. Cek keduanya sebelum menyimpulkan. **Lupa reload setelah ubah konfigurasi.** Perubahan di file pool PHP-FPM baru berlaku setelah prosesnya di-reload atau restart. Edit tanpa reload sering membuat orang mengira settingnya tidak berfungsi. ## Pertanyaan Umum ### Apakah shared hosting biasa memakai PHP-FPM? Umumnya ya, di balik layar — biasanya bersama Nginx atau Apache dengan LiteSpeed sebagai alternatif. Anda tidak mengaturnya sendiri, tapi batas proses per akun di paket Anda adalah versi PHP-FPM dari resource Anda. ### Berapa worker yang saya butuhkan? Perkiraan dari sisi trafik puncak, dari sisi memori: RAM yang tersedia untuk PHP dibagi pemakaian rata-rata per worker. WordPress dengan RAM 2 GB biasanya cukup dengan pool belasan worker jika sisanya juga dipakai MySQL. ### Apa tanda PHP-FPM jadi biang masalah? Pesan "server reached pm.max_children setting" di log, atau [error 503](/wikihosting/error-503) saat traffic naik padahal CPU dan RAM masih ada. Dua-duanya petunjuk worker habis. ### Apakah LiteSpeed menggantikan PHP-FPM? LiteSpeed punya mekanisme sendiri (LSAPI) yang berfungsi mirip. Dari sudut pemilik website, konsepnya sama: ada batas proses PHP paralel yang ditentukan paket Anda.