Banyak banget artikel yang menyebutkan bahwa caching di PHP sangat membantu kerja server lebih efisien. Saya punya minat besar terhadap teknologi caching ini, secara cara kerjanya yang melakukan cache bytecode skrip PHP yang terkompilasi, sehingga interpreter PHP tidak terus2an mengkompilasi/parsing script setiap ada request masuk. Tetapi ada beberapa yang skeptis dengan berbagai macam alasan semacam makan memory banyak, tidak stabil atau yang lebih konyol: malas untuk menginstall. Hosting blog dan kantor saya adalah salah satunya. Semoga dengan artikel ini, mereka mau menginstallnya.

Benchmark ini menggunakan aplikasi bawaan dari apache web server yaitu ab. Dilakukan di komputer biasa di rumah, dengan OS Windows XP. Adapun versi dari aplikasi yang saya benchmark adalah:

  1. Apache/2.2.6 – Instalasi standard
  2. MySQL 5.0.45-community-nt
  3. PHP 5.2.5
  4. XCache v1.2.1
  5. APC 3.1.0-dev
  6. phpMyAdmin 2.11.2.1 — saya anggap aplikasi ini cukup untuk merepresentasikan kegiatan PHP di dunia internet secara umum.

Dieksekusi dengan command:

ab -n 2000 http://localhost/phpMyAdmin/

Maksudnya adalah lakukan benchmarking untuk 2000 request.

Hasil Benchmarknya

  Request/Sec Time/Req (ms) Connection Time (ms) Failed Improvement
Murni PHP 5.88 170.094 169 3 0
APC 11.40 87.742 87 2 51.57%
XCACHE 13.58 73.633 73 2 43.29%

Jadi sangat jelas kalau dengan menggunakan cache / accelerator akan meningkatkan jumlah request per second dari server kita. Peningkatan yang sekitar 40-50 persen bukanlah peningkatan yang kecil dibanding dengan usaha instalasinya yang cukup mudah. Sebuah perhitungan kasar dimana server biasa menerima hit rata-rata 1 juta request / day tanpa cache, maka dengan cache server kita mampu menghandle sekitar 1.5 juta. Tanpa harus menghabiskan biaya tambahan untuk hardware.

Related Links