Lewatkan ke konten utama

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

catatan : ini adalah koneksi untuk website. jika membebani cpu server mesti dikurangi. terutama pada pm.max_requests dan pm.max_children

[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