700 Koneksi Pengguna Bersamaan
Konfigurasi ini untuk kasus 700 koneksi pengguna bersamaan pada suatu waktu tertentu. Konfig ini telah diterapkan pada presensi online dan berjalan efektif untuk lebih dari 3500 pengguna.
Alih-alih menggunakan modul mpm_prefork, admin menggunakan modul mpm_event yang jauh lebih efektif menangani koneksi non-blok yang lebih efisien.
1. Nonaktifkan Modul PHP Apache:
a2dismod php8.2
2. Nonaktifkan mpm_prefork
dan Aktifkan mpm_event
:
a2dismod mpm_prefork
a2enmod mpm_event
systemctl restart apache2
3. Konfigurasi mpm_event di /etc/apache2/mods-available/mpm_event.conf
<IfModule mpm_event_module>
StartServers 3
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxRequestWorkers 700
MaxConnectionsPerChild 0
</IfModule>
4. Konfigurasi PHP-FPM www.conf pada /etc/php/8.2/fpm/pool.d/www.conf
[www]
user = www-data
group = www-data
listen = /run/php/php8.2-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
pm = dynamic
pm.max_children = 175
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 25
pm.process_idle_timeout = 10s
pm.max_requests = 500
request_terminate_timeout = 300s
5. Restart Apache dan PHP-FPM:
systemctl restart php8.2-fpm
systemctl restart apache2