Aplikasi PHP di Heroku berjalan di bawah Manajer Proses FastCGI PHP-FPM dan berkomunikasi dengan server web Apache atau Nginx menggunakan protokol FastCGI Show
FPM menelurkan dan mengelola proses anak yang mengeksekusi kode aplikasi PHP yang sebenarnya. Masing-masing proses ini menangani satu permintaan dari server web pada satu waktu, yang berarti bahwa lebih banyak proses akan menghasilkan konkurensi yang lebih besar dan kinerja aplikasi yang lebih baik dengan kondisi lalu lintas yang lebih tinggi. Konfigurasi berlaku untuk setiap proses anak yang menjalankan aplikasi, yang dapat menghabiskan memori hingga batas tersebut sebelum dihentikan Pelanggan Heroku Enterprise dengan Premier atau Signature Success Plans dapat meminta panduan mendalam tentang topik ini dari tim Customer Solutions Architecture (CSA). Pelajari lebih lanjut tentang Sesi Pelatihan Pakar di sini atau hubungi eksekutif akun Salesforce Anda Pengaturan dan perilaku defaultPHP-FPMPHP-FPM dikonfigurasi untuk dijalankan menggunakan mode pengelolaan proses Jumlah proses anak untuk muncul (dikendalikan oleh 0, yang secara otomatis diatur ke nilai yang sesuai oleh Herokumemory_limit = 64M 0 defaultJika aplikasi Anda menggunakan beberapa buildpack, Anda harus memastikan bahwa buildpack PHP (sebagai buildpack bahasa utama aplikasi Anda) dijalankan setelah buildpack bahasa lain; Misalnya, saat menggunakan buildpack 3 bersama dengan 4, default 0 akan salah jika buildpack 3 berjalan setelah buildpack 4Saat mem-boot aplikasi, jenis dyno akan terdeteksi secara otomatis, dan variabel lingkungan 0 akan disetel ke jumlah RAM yang tersedia pada dyno dibagi dengan batas memori yang dikonfigurasi untuk setiap proses PHP _Default di Heroku adalah default untuk masing-masing versi PHP; Ini berarti bahwa di luar kotak, pengaturan berikut berlaku Tipe DynoTersedia RAMPHP 9 0eco, basic, standard-1x512 MB128 MB4standard-2x1024 MB128 MB8performance-m2. 5 GB 128 MB 20 performa-l14 GB 128 MB 11211. 0 default ke 48 untuk versi PHP sebelum 7. 4Untuk kompatibilitas mundur, default untuk tipe 3 dyno tidak menggunakan seluruh jumlah memori yang tersedia untuk versi PHP sebelum 7. 4. Jika Anda ingin menggunakan jumlah proses yang lebih banyak daripada yang diberikan Heroku secara otomatis, gunakan teknik yang dijelaskan di bagian dokumen iniDefault ini sengaja dipilih untuk tidak meninggalkan "ruang kepala" apa pun untuk proses master PHP-FPM atau proses server web karena aplikasi sangat tidak mungkin menghabiskan seluruh batas memori mereka pada setiap permintaan dan pada saturasi penuh, yang berarti bahwa dynos sedikit berlebihan. Untuk meningkatkan jumlah proses anak (dan dengan demikian jumlah permintaan yang dapat ditangani secara bersamaan), Anda cukup menurunkan pengaturan 9 aplikasi - batas memori adalah metode utama untuk menyesuaikan konkurensi aplikasi PHP di HerokuMenyetel konkurensi menggunakan memory_limit = 64M _9Mengonfigurasi memory_limit = 64M _9 untuk PHP-FPMMenetapkan batas memori melalui $ heroku logs
2019-01-15T07:51:24.476056+00:00 heroku[web.1]: State changed from down to starting
2019-01-15T07:51:30.765076+00:00 heroku[web.1]: Starting process with command `heroku-php-apache2`
2019-01-15T07:51:33.188816+00:00 app[web.1]: Optimizing defaults for 1X dyno...
2019-01-15T07:51:33.370674+00:00 app[web.1]: 8 processes at 64MB memory limit.
2019-01-15T07:51:33.414407+00:00 app[web.1]: Starting php-fpm...
2019-01-15T07:51:33.414423+00:00 app[web.1]: Starting httpd...
2019-01-15T07:51:35.865579+00:00 heroku[web.1]: State changed from starting to up
|