Litespeed Tuning : Opcode Caching

Salah satu cara untuk meningkatkan performa PHP adalah dengan memakai PHP Accelerator, atau juga biasa disebut “opcode caching”. Seperti kita tahu, setiap kali script PHP akan dijalankan, dia selalu di-compile terlebih dahulu oleh server, lalu hasil compile itu baru dieksekusi. Dengan opcode caching, PHP tidak perlu di-compile ulang oleh system setiap kali akan dijalankan (selama tidak ada perubahan code), langsung dijalankan saja oleh system, sehingga performa sistem akan lebih baik.

System caching PHP yang terkenal untuk urusan ini, antara lain xcache, eaccelerator, APC, dan yang terbaru bawaan default dari PHP 5.5 adalah Opcache.

Menurut salah satu hasil benchmark oleh ITST, peningkatan performa dengan opcode xcache bisa menambah performa hingga 221.25% dibanding dengan setting PHP biasa tanpa opcode caching. Dan untuk sistem opcode caching lainnya, hasilnya juga signifikan. Detailnya cari sendiri di dengan keyword “xcache benchmark”, “apc benchmark”, “eaccelerator benchmark”, “opcache benchmark”, “xcache vs apc”, “eaccelerator vs apc”, dan sejenisnya.

Mana yang paling bagus? Wah, kami sendiri gak tahu :)

Tapi kami suka untuk menggunakan eaccelerator karena mudah, instalasi tinggal gunakan WHM Easy Apache yang by default sudah ada bersama instalasi cPanel. Ini juga merupakan salah satu Opcode Caching yang stabil dan relatif bebas konflik dengan LSWS.

Satu hal yang jelas, opcode caching works, apa pun yang Anda pakai. Yang penting, pastikan salah satu jenis opcode caching tersebut terinstall dan pastikan opcode caching yang Anda pakai tersebut aktif/berjalan… karena kami pernah pengalaman install salah satu opcode caching dan merasa sudah beres ternyata belum kami aktifkan, tentu saja tidak ada gunanya kalau begitu.

Apa hubungannya dengan Litespeed? Nah, …

Dengan menggunakan Litespeed Web Server (LSWS), by default performa sudah lebih tinggi dibandingkan memakai apache biasa. Tapi setting default LSWS tidak memungkinkan LSWS untuk memanfaatkan Opcode Caching yang sudah Anda setup. Kenapa? Alasannya silakan dibaca di sini.

Karenanya kita perlu ubah dikit setting LSWSnya supaya bisa menggunakan Opcode Caching pilihan Anda.

Setting LSWS

By Default, LSWS berjalan dengan “suEXEC Worker Mode”, di mana mode ini tidak memungkinkan LSWS untuk memanfaatkan Opcode Caching karena setiap proses dijalankan tanpa forking. Karenanya, kita perlu untuk mengubahnya menjadi “suEXEC Daemon Mode” atau “suEXEC Process Group” supaya Opcode Caching bisa dimanfaatkan.

Screenshot_25

Source : litespeedtech.com/products/litespeed-sapi/php/guide-to-suexec-setups

Mana yang lebih baik? Kami sendiri lebih suka untuk memakai suEXEC Daemon mode, simple, satu setting untuk semua server, karena server kami bukan untuk jasa shared hosting. Kami juga performa terbesar akan didapatkan untuk penggunaan server dengan no-cache limit di setiap user (limit hanya tergantung jumlah RAM dan setting opcode cache), setiap ada user yang butuh, server berikan performa terbaiknya (caching = on) untuk user tersebut. Beda lagi kalau Anda memang ingin me-limit performa user tertentu (seperti dalam kasus jasa shared hosting), mungkin suEXEC Process Group akan lebih cocok untuk Anda, server mungkin perlu Anda set caching = off untuk user dengan paket mini, caching = kecil untuk user dengan paket kecil, caching = besar untuk user dengan paket besar.

Cara mengaktifkannya, bisa ikuti saja tutorial di litespeedtech.com/products/litespeed-sapi/php/suexec-daemon-mode, yakni masuk ke WebAdmin console > Configuration > External App > lalu pilih jenis aplikasi yang ingin kita aktifkan Daemon Mode-nya, misalnya di bawah ini kita setting untuk versi PHP 5 :

suexecdaemon1

Pilih “Auto Start = Yes”, dan “Run On Start Up to = Daemon Mode”

suexecdaemon2

Setelah itu, save setting

Screenshot_26

Lalu, lakukan apply perubahan yang telah kita lakukan dengan grace restart

Screenshot_27

suexecdaemon3

Sampai di sini, selesai langkah kita untuk mengaktifkan Daemon Mode bagi PHP 5.x

Untuk mengaktifkan Daemon Mode bagi versi PHP 5.5 ke atas, ulangi langkah di atas dengan memilih “lsphp55” pada pilihan external app.