Less talk, more code

The blog of Iskandar Soesman

Panada Benchmark

Sebagaimana yang umum dilakukan, salah satu unsur penilaian sebuah framework adalah performa kecepatan dalam melakukan suatu tugas. Walaupun bukan satu-satunya unsur penilaian untuk menyatakan bagus atau tidaknya sebuah framework, namun kecepatan bisa menggambarkan bagaimana sebuah framework bisa bekerja secara efisien.

Grafik di bawah, menggambarkan bagaimana Panada bisa menyelesaikan suatu tugas dalam satuan waktu tertentu dibandingkan dengan framework-framework populer yang ada saat ini. Benchmark berikut mengikuti cara yang digunakan Yii dalam melakukan benchmark. Untuk membaca lebih lanjut bisa dilihat di halaman Performance of Yii.

Tujuan dari benchmark ini adalah untuk membandingakan minimal overhead dari setiap framework, oleh karenanya pembuatan aplikasi harus dibuat seminimal mungkin, untuk itu aplikasi yang dibuat adalah "Hello World". Untuk memastikan aplikasi bekerja seminimal mungkin, feature-feature seperti session dan database dinonaktifkan. Informasi lebih lanjut mengenai benchmark aplikasi, silahkan lihat di halaman phpmark project.

Perhitungan didasarkan pada penilaian "banyaknya request yang bisa diterima dalam setiap detik" atau "request per second". Artinya, semakin tinggi nilai yang didapat, nilainya semakin baik. Untuk mendapatkan data ini tools yang duganakan adalah ApacheBench dengan perintah:

ab -t 30 -c 10 URL

Untuk menghindari interference, maka setiap selesai melakukan banchmark sebuah framework dilakukan restart pada service Apache web server. Setiap framework dilakukan testing sebanyak tiga kali. Dari tiga kali pengujian diambil nilai yang paling tinggi. Berikut adalah spek komputer yang digunakan untuk banckmark:

  • Operating System: Ubuntu 10.04 LTS Lucid Lynx
  • Web Server: Apache httpd 2.2.14
  • PHP: 5.3.2
  • CPU: AMD Turion(tm) 64 Mobile Technology MK-38
  • Main Memory: 1.2 GB
  • Hard Drive: 80 GB SATA

Berikut adalah hasilnya:

Hasil benchmark Panada