Pada sebuah service WEB besarnya CPU/RAM sangatlah menentukan performa website kita, Permasalahan yang sering muncul adalah server kekurangan CPU/memory yang mengakibatkan web loading website kita menjadi sangat lambat (antrean).
Apache menggunakan salah satu MPM (Multi-Processing Module)untuk menangani Request dan proses.
3 type MPM :
1. Prefork MPM
2. Worker MPM
3. Event MPM
Secara default Apache mempunyai konfigurasi sbb:
sudo nano /etc/apache2/server-tuning.conf | opensuse
<IfModule prefork.c> (prefork tegantung mode yang di gunakan)
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>
Berikut beberapa parameter yang harus di perhatikan pada service Apache2
ServerLimit =jumlah CPU cores
StartServers =jumlah proses awal
MaxRequestWorkers =jumlah total max thread dalam semua proses
ThreadsPerChild =jumlah threan yang di gunakan oleh tiap proses
Rumus Dasar:
Max Request Workers = ServerLimit * ThreadsPerChild
Contoh:
Misal kan ada CPUs 32 Core, membutuhkan 2048 request, jadi :
ServerLimit 32 //jumlah CPU cores
ThreadPerChild 64 //jumlah threan yang di gunakan oleh tiap proses
MaxRequestworker 2048 //jumlah total max thread dalam semua proses
"sebuah server bisa melayani bayak request,tetapi untuk aplikasi harus di sesuaikan, jika misalkan proses dari aplikasi nya itu terlalu besar maka request yang besar tersebut akan di antrikan."
Gambar diatas BUKAN merupakan "patokan" pasti, karena ada beberapa hal/parameter yang harus di perhatikan seperti Request per sekali waktu, besar kecil nya proses (query=mysql), dll.
Refensi:
https://httpd.apache.org/docs/current/mod/mpm_common.html#serverlimithttps://www.liquidweb.com/kb/apache-performance-tuning-apache-mpm-modules/
https://sekolahlinux.com/switch-mpm-prefork-to-mpm-worker-or-event-pada-apache-2-4-di-centos-7/
Post a Comment
Post a Comment