Hoster Indonesia yang Anti Mainstream


Status
Not open for further replies.
Adalah benar jika melihat dari sisi suphp yang di-create per-request. Dari sisi thread dari apache menjadi dimungkinkan eksekusi php yang lebih banyak. Jadi, tidak salah jika dikatakan 'one thread per request'.

Pada prefork, diperlukan create apache instance untuk setiap php request. Pada worker/event, instance tidak perlu banyak karena yang berperanan adalah thread (setiap instance bisa memiliki thread yang banyak).

Dari sisi lifetime runtime php nya, pada model handler modphp_prefork, satu child process (php+httpd), bisa handle banyak HTTP request, sesuai konfigurasi apache, sebelum akhirnya di kill oleh apache, jika sudah melewati max konfigurasi.

Begitu jg dengan model handler modphp_event, dan modphp_worker, satu thread (php+httpd), bisa handle banyak HTTP request, sesuai konfigurasi apache, sebelum akhirnya di kill oleh apache, jika sudah melewati max konfigurasi.

Untuk yg model modphp_* ini, saya sudah paham, dan ini hanya gambaran, spy bisa membedakan dengan model handler suphp_*.

Sedangkan suphp_*, apapun jenisnya, sekali request HTTP, 1 proses akan dicreate oleh apache, setelah selesai, dia akan di kill oleh apache. Jadi, apapun jenis suphp-nya, setiap satu request, dia akan create process, dan akan di kill, setelah selesai.
Jadi bisa dipastikan bahwa model handler suphp_*, itu tidak efisien pada penggunaan CPU.

Nah, untuk yg model handler suphp_* ini saya hanya berasumsi, bahwa lifetime exekusi prosesnya akan sama dengan suphp biasa (suphp_prefork). Pertanyaannya, sy ingin klarifikasi ke mas MR, apakah benar asumsi saya ini dan penjelasan saya ttg suphp_* diatas?
Atau mungkin mas ada link dokumentasi yg bisa sy pelajari tentang lifetime runtime php, pada suphp_*, yg macem2 jenisnya ini?
 
Seperti saya katakan sebelumnya bahwa dari sisi suphp memang akan di-destroy sehabis dipakai. Ini sama juga dengan fcgid dan lsphp.

Sekadar contoh untuk macam-macam pengaturan mpm:
Code:
Timeout 150
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15

<IfModule prefork.c>
    StartServers 2
    MinSpareServers 77
    MaxSpareServers 155
    ServerLimit 155
    <IfVersion >= 2.4>
        MaxRequestWorkers 155
        MaxConnectionsPerChild 4000
    </IfVersion>
    <IfVersion < 2.4>
        MaxClients 155
        MaxRequestsPerChild 4000
    </IfVersion>
    MaxMemFree 2
    SendBufferSize 65536
    ReceiveBufferSize 65536
</IfModule>

<IfModule itk.c>
    StartServers 2
    MinSpareServers 77
    MaxSpareServers 155
    ServerLimit 155
    <IfVersion >= 2.4>
        MaxRequestWorkers 155
        MaxConnectionsPerChild 4000
    </IfVersion>
    <IfVersion < 2.4>
        MaxClients 155
        MaxRequestsPerChild 4000
    </IfVersion>
    MaxMemFree 2
    SendBufferSize 65536
    ReceiveBufferSize 65536
</IfModule>

<IfModule worker.c>
    StartServers 2
    MinSpareThreads 66
    MaxSpareThreads 133
    ThreadsPerChild 25
    ServerLimit 133
    <IfVersion >= 2.4>
        MaxRequestWorkers 3325
        MaxConnectionsPerChild 0
    </IfVersion>
    <IfVersion < 2.4>
        MaxClients 3325
        MaxRequestsPerChild 0
    </IfVersion>

    ThreadStackSize 8196
    MaxMemFree 2
    SendBufferSize 65536
    ReceiveBufferSize 65536
</IfModule>

<IfModule event.c>
    StartServers 2
    MinSpareThreads 66
    MaxSpareThreads 133
    ThreadsPerChild 25
    ServerLimit 133
    MaxRequestsPerChild 0
    ThreadStackSize 8196
    <IfVersion >= 2.4>
        MaxRequestWorkers 3325
        MaxConnectionsPerChild 0
    </IfVersion>
    <IfVersion < 2.4>
        MaxClients 3325
        MaxRequestsPerChild 0
    </IfVersion>

    SendBufferSize 65536
    ReceiveBufferSize 65536
</IfModule>

Include /opt/configs/apache/conf/defaults/*.conf
Include /opt/configs/apache/conf/domains/*.conf

### selected: medium ###

Pada prefork dan itk maka MaxClients harus sama dengan ServerLimit. Sedangkan pada worker dan event, MaxSpareThreads adalah ServerLimit x ThreadsPerChild.

Jadi, keunggulan suphp pakai worker/event adalah bisa menangani request yang lebih banyak (dalam contoh diatas bisa 25x-nya).

Pada prefork dan itk, memang tidak ada destroy php dipakai karena yang di-destroy adalah apache instance-nya (berarti sekaligus destroy php karena di-embed ke apache).
 
kalo gak salah dulu juga mas @menyohost.com pernah promosi hosting pake kloxo-mr di forum sebelah
wekk mas.satriyo tau aja.
Semantara paket itu dihentikan dlu. karena ada alasan teknis dari kami. Tapi tetep pkai sih untuk internal.
Kloxo-MR sejauh ini memang oke. performa juga oke kok. Berharap nanti bisa pake panel punyanya pak MR lagi nantinya. hehehe;)
Semangat pak MR.:77::77:
 
Status
Not open for further replies.
Back
Top