The Benchmark Continues with FastCGI PHP (APC vs XCache vs No Cache)

Menyambung posting terdahulu, saya baru ngeh kalau ada kelemahan yang signifikan di mod_php yaitu parser PHP yang built-in ke dalam process httpd menyebabkan jumlah memory yang dimakan oleh 1 proses httpd bisa sampai 15mb. Dan problem yang disebutkan om steven dimana hosting kebanyakan tidak menjalankan PHP sebagai modul karena alasan security dan privacy. Maka saya coba untuk menjalankan PHP tidak sebagai modul, tapi sebagai aplikasi CGI, lebih tepatnya FastCGI

Trik memakau FastCGI ini ternyata cukup mantab, 1 process httpd hanya memakan sekitar 6-7mb memory — tergantung dari module yang diaktifkan. Dan hasil benchmarknya:

  Request/Sec Time/Req (ms) Connection Time (ms) Failed Improvement
PHP FastCGI 5.66 176.688 175 0 0
FastCGI+APC 12.49 80.063 79 0 45.31%
FastCGI+XCACHE 12.47 80.219 79 0 45.38%

Ngga beda jauh dengan mod_php, sekitar 40-50% improvement. At least membuktikan kalau PHP-CGI bisa di cache. Walaupun pakai FastCGI. Beda yang paling signifikan adalah di mod_php, 1 process httpd berharga antara 10mb-15mb, sedangkan di php-fastcgi, 1 process httpd menghabiskan antar 6-8mb. Plus process PHP yang berjalan sebagai FastCgiServer sekitar 6mb. Improvementnya adalah kita bisa nambah MaxSpareServer nya apache seandainya kita jalankan secara prefork atau pilih solusi lain dengan menjalankan apache dengan Worker MPM yang diklaim oleh apache lebih handal untuk menangani banyak request.

7 komentar

  1. Steven Haryanto bilang:

    mantab… boleh tuh om ferdi tutorial setupnya dibagikan. ntar dicoba diimplementasiin ah. antara xcache dan apc mana yang lebih recommended ya?

    December 5th, 2007 at 18:06
  2. FastCGI (mod_fcgid), Apache2.2, PHP5, APC, XCACHE in WindowsXP | Ferdianto.com bilang:

    [...] Live after Kapanlagi.com ← The Benchmark Continues with FastCGI PHP (APC vs XCache vs No Cache) [...]

    December 7th, 2007 at 22:25
  3. ferdhie bilang:

    @steven: antara xcache dan apc mana yang lebih recommended ya?

    kalau saya sih prefer xcache, karena APC masih sedikit buggy yah. Sebenernya masih ada lagi yang namanya eAccelerator, anaknya Turck MMCache. Blum saya coba.

    December 8th, 2007 at 18:29
  4. Durby bilang:

    kalo saya lebih prefer dengan eAccelerator. Pemakaiannya bener2 mudah, hasilnya pun cukup memuaskan. Cuma kalo coba di windows justru masih agak2 buggy ya?

    December 11th, 2007 at 16:59
  5. ferdhie bilang:

    @Durby: blum tau juga dan blum pernah coba. nih baru kepikiran mo coba bro. ntar klo dah coba ta postingnya.

    December 22nd, 2007 at 23:06
  6. jimmy carter bilang:

    saya sempet buka site ini http://www.wrensoft.com/zoom/benchmarks.html.
    kecepatan cgi(C++) cukup luarrrr biasa. mo nanya nih di banding dengan fast cgi gmn ya… ????

    January 3rd, 2008 at 18:11
  7. ferdhie bilang:

    @jimmy:
    1. aplikasi CGI nya binary (compiled C++) jadi jelas tidak perlu parsing script sedang untuk kompetitornya semua menggunakan interpreter.
    2. tidak dijelaskan apa PHP nya berjalan sebagai aplikasi CGI, module apache atau FastCGI.

    January 4th, 2008 at 09:20

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