Konsep Tuning service=http (Apache)

 

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/

Related Posts

Post a Comment