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.
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