APC (Alternate PHP Cache) vs XCache vs No-Cache PHP

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

3 komentar

  1. Steven Haryanto bilang:

    banyak isp/webhost yg menjalankan php dengan SAPI CGI. jika accelerator bisa dibuat jalan dengan CGI atau FCGI, niscaya lebih banyak yg akan pasang. alasan utama adalah security/separasi antaraccount aja menurut saya. semua isp/webhost tentu ingin setiap website di server bisa jalan optimum/efisien, tapi tentu dg tidak mengorbankan security/privasi antaraccount tsb.

    December 2nd, 2007 at 09:15
  2. Dolly Aswin Hrp bilang:

    Sepertinya Webhost om Steven jg pake php cgi.

    December 3rd, 2007 at 12:36
  3. The Benchmark Continues with FastCGI PHP (APC vs XCache vs No Cache) | Ferdianto.com bilang:

    [...] posting terdahulu, saya baru ngeh kalau ada kelemahan yang signifikan di mod_php yaitu parser PHP yang built-in ke [...]

    December 3rd, 2007 at 22:28

Tinggalkan Komentar





*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word