Saya ulangi kembali optimasi untuk Kloxo-MR
Jika anda pakai Kloxo-MR anda bisa 'menghemat' memory dengan:
1. Convert mysql ke engine myisam dengan menjalankan 'sh /script/mysql-convert --engine=myisam'
2. Pilih php-fpm_event pada php-type di 'webserver config' dan bisa juga di-enable 'secondary php'
3. Pilih php53u pada 'php branch' di 'webserver config' karena php-fpm cukup bermasalah dengan php52
4. Usahakan sesedikit mungkin jumlah 'customer' dan jika mungkin cukup 'admin' saja
5. remove clamav dengan 'yum remove clamav* freshclam*'
Jika anda pakai Kloxo Official (mestinya bukan disebut Kloxo asli) adalah:
1. Convert mysql ke engine myisam dengan menjalankan 'sh /script/mysql-convert --engine=myisam'
2. Pilih mod_php_ruid2 dan memilih 'optimize' pada 'Apache optimize' di 'webserver config'
4. Usahakan sesedikit mungkin jumlah 'customer' dan jika mungkin cukup 'admin' saja
5. remove clamav dengan 'yum remove clamav* freshclam*'
Pemakaian engine MyISAM dan Innodb ada selisih 100MB pemakaian memory. Disamping itu, pada MyISAM backup database cukup dengan meng-copy directory-directory yang ada di /var/lib/mysql misalnya dengan menjalankan:
Code:
cd /tmp
tar -cjvf mysql-data.tar.bz2 /var/lib/mysql
Ada 3 macam bagaimana httpd meng-execute php:
1. Prefork -- php di-embed pada httpd
- jumlah instance php akan selalu sama dengan jumlah httpd yang ada residence di memory
- execute php cepat karena php sudah tersedia di memory
- butuh ram besar jika website traffic tinggi karena keterbatasan 'php' dan 'php children'
2. Worker/Event melalui suphp/fcgid
- execute php oleh httpd dengan memanggil php-cgi
- execute php cenderung lambat karena setiap execute php maka suphp/fcgid harus execute php
- suphp bisa dijalankan juga di prefork (tetapi tetap saja 'watak-nya' adalah worker/event sehingga sebaiknya jika jalankan suphp di worker/event
- jumlah instance httpd tidak perlu banyak sehingga 'Apache optimize' tidak 'tidak berguna' dalam kondisi ini
3. Worker/Event melalui php-fpm
- php-fpm (php fastcgi process manager) yang bertugas menjaga jumlah instance tertentu dari php (php menjadi bisa resident di memory)
- setiap instance php bisa memiliki 'php children' yang banyak
- cocok untuk menangani trafic tinggi
- execute php kecepataannya mendekati prefork
- jumlah instance httpd juga tidak perlu banyak sehingga 'Apache optimize' tidak 'tidak berguna' dalam kondisi ini
TAMBAHAN:
- Karena suphp bisa dijalankan pada prefork dan worker/event maka dimungkinkan dibuat yang dinamakan 'secondary php' di semua mpm dari httpd. Maksudnya, system kita menjalankan bersama-sama php 5.3/5.4 (sebagai primary) dan php 5.2 (sebagai secondary php). Jika ingin menjalankan php 5.2 untuk website tertentu maka pada .httaccess perlu ditambahkan code tertentu.