Ayo benchmark PHP!

Saya sudah menuliskan mengenai pengujian performa sistem dari spesifikasi server yang didapatkan dan bisa dari sisi konektivitas (bandwidth) atau kemampuannya dalam proses tugas. Jadi kalau beli VPS kita tidak bisa langsung percaya dari apa yang dituliskan provider karena kenyataan di lapangan kadang berbicara lain, cukup sering penyedia VPS murah juga membatasi resource yang diberikan. Baru – baru ini saya menemukan satu tool untuk benchmark PHP, dan karena bahasa ini cukup sering digunakan dalam web hosting maka tidak salah kalau dites performanya.

Silahkan anda download dulu file benchmarknya di PHP Benchmark Script, dan akan mendapatkan sebuah file bench.zip yang berisi bench.php. Ini silahkan diupload ke server anda dan akses dari browser scriptnya. Prosesnya akan berlangsung otomatis dan seharusnya tidak berlangsung lama. Nilainya semakin kecil semakin baik karena berarti prosesnya diolah dengan cepat.

Pertama saya coba dulu di XVM Labs dengan stack (Linux CentOS 6.7, OpenLiteSpeed 1.3.12, MariaDB 5.5.47, dan PHP 5.6.17):

--------------------------------------
|        PHP BENCHMARK SCRIPT        |
--------------------------------------
Start : 2016-01-12 21:46:13
Server : servernesia
PHP version : 5.6.17
Platform : Linux
--------------------------------------
test_math                 : 1.979 sec.
test_stringmanipulation   : 2.103 sec.
test_loops                : 1.219 sec.
test_ifelse               : 0.893 sec.
--------------------------------------
Total time:               : 6.194 sec.

Sedangkan yang kedua saya tes di Host Dark dengan stack (Linux CentOS 6.7, Nginx 1.9.9, MariaDB 10.1.10, dan PHP 7.0.2):

--------------------------------------
|        PHP BENCHMARK SCRIPT        |
--------------------------------------
Start : 2016-01-12 21:46:29
Server : servernesia-testing
PHP version : 7.0.2
Platform : Linux
--------------------------------------
test_ifelse               : 2.182 sec.
test_loops                : 3.035 sec.
test_stringmanipulation   : 1.607 sec.
test_math                 : 1.623 sec.
--------------------------------------
Total time:               : 8.447 sec.

Ternyata kok malah lebih cepat XVM Labs yang secara diatas kertas lebih bagus spesifikasi VPSnya dan teknologi stack web servernya pun bisa dikatakan jadul. Ini sudah saya lakukan berulang kali dan selisihnya kurang lebih sama pada setiap eksekusi benchmarknya. Hmm… tampaknya memang spesifikasi server lebih baik tapi tidak seindah kemampuan nyatanya, atau mungkin saya kurang mengoptimalkannya. Jadi bahan untuk pembelajaran lebih lanjut sepertinya. 🙂

Tapi saya yakin anda sudah paham lah dan bisa dicoba sendiri bagaimana kemampuan VPS anda dalam mengolah dan melayankan proses PHP. Semakin cepat tentu semakin baik.

Bagaimana dengan hasil anda? 🙂

16 pemikiran pada “Ayo benchmark PHP!

  1. trims ilmu barunya mas chandra 🙂
    barusan tes di dua server yg berbeda :
    xvm labs total time 5.921 sec
    digital ocean total time 6.73 sec

    xvmlabs di US California sedangkan DO di singapore, seharusnya lebih cepat di singapore 😀 apa mungkin karna pengaruh beda ram ya?
    xvm lab ram 1gb swap 128mb
    digital ocean ram 512mb swap 512mb

    • Ahaha, saya juga baru tahu belum lama ini kok mbak. Tampaknya cukup lumayan jadi acuan web server PHP. Kalau dilihat dari parameter apa yang diuji lebih ke arah kemampuan prosesornya daripada memori dan yang lainnya. Mungkin setting web server dengan PHP(-FPM) akan berpengaruh.

      Pakai stack yang sama di keduanya mbak?

    • Jarang juga provider yang menawarkan lokasi Singapura, tampaknya paling terkenal ya Digital Ocean. Ada niat sih mau coba VPS dari IndoVirtue yang menawarkan SG juga: https://indovirtue.com/

      Tampaknya ada orang Indonesianya juga yang kerja disana, harganya juga cukup saingan dengan DO.

      Oh ya mbak, pernah coba yang lokasi IIX (Indonesia)? Yang terkenal rasanya CloudKilat. Tapi harganya ngeri juga. Haha. 😀

  2. Makasih buat info tool-nya, Mau share hasil benchmark 2 provider amrik nih:

    1. CrownCloud KVM, 4 VCore, 1GB RAM, $5/month
      Webserver: OpenLitespeed 1.4.14.

      --------------------------------------
      |        PHP BENCHMARK SCRIPT        |
      --------------------------------------
      Start : 2016-01-19 05:41:57
      Server : CrownCloud
      PHP version : 5.6.15
      Platform : Linux
      --------------------------------------
      test_Math                 : 1.969 sec.
      test_StringManipulation   : 2.087 sec.
      test_Loops                : 1.277 sec.
      test_IfElse               : 1.211 sec.
      --------------------------------------
      Total time:               : 6.544 sec.
    2. VpsGod OpenVZ, 2 VCore, 2GB RAM, $24/Year
      Webserver: Apache 2.4.18.

      ---------------------------------------
      |        PHP BENCHMARK SCRIPT        |
      --------------------------------------
      Start : 2016-01-19 00:34:26
      Server : bluegaptek.tk@23.104.14.118
      PHP version : 7.0.2-2+deb.sury.org~trusty+1
      Platform : Linux
      --------------------------------------
      test_Math                 : 0.236 sec.
      test_StringManipulation   : 0.415 sec.
      test_Loops                : 0.321 sec.
      test_IfElse               : 0.218 sec.
      --------------------------------------
      Total time:               : 1.19 sec.

    Tadi-nya sudah install PHP 7.0.2 di Litespeed, tapi begitu mau install WordPress mysql-nya ga nyambung. Kira2 sebabnya dimana ya mas?

    • Terimakasih tambahan info benchmarknya mas Jarry. Jadi tahu bagaimana performa PHP di provider VPS lainnya. 🙂

      Pesan errornya apa mas di instalasi WordPress? Anda tidak lupa menginstall modul PHP untuk database MySQL kan? Semestinya lsphp70-mysql sudah cukup.

      Standarnya sih ini mas:

      lsphp70 lsphp70-common lsphp70-gd lsphp70-process lsphp70-mbstring lsphp70-mysqlnd lsphp70-xml lsphp70-mcrypt lsphp70-pdo lsphp70-imap 

      Kalau boleh tahu alur eksekusi perintah instalasi OpenLiteSpeed 1.4 dengan PHP 7.0 yang dilakukan mas Jarry. Saya belum benar – benar mencoba secara nyata, cuma utak – atik saja. Ingin belajar dari yang sudah memasangnya. 🙂

      • Oh… sistem kompilasi PHP dari source ya mas. Saya kurang suka metode ini karena bikin repot pas upgrade ke versi terbarunya. Itu panduan diatas masih berdasarkan OpenLiteSpeed 1.3 dan PHP 5.5 soalnya, jadi wajar tidak bisa langsung diterapkan untuk PHP 7.0.

        Harus pakai PHP 7.0 mas? Belum semua script PHP kompatibel soalnya. Tampaknya anda rencananya pakai WordPress ya, tidak semua plugin dan tema support lho mas.

        Dan masalah anda memang disebabkan belum diinstallnya modul/ekstensi PHP untuk MySQL seperti yang saya bicarakan diawal. Saya tahunya CentOS mas, kalau Ubuntu saya belum pernah coba pakai OLSWS ini. Haha. 😀

      • Iya saya compile “PHP7”-nya menggunakan tool yang disediakan openlitespeed 1.4.14. Dan terakhir saya mencoba dari awal install OS sampai pasang semua modul yang berhubungan dengan mysql yang mas tulis diatas , hasilnya sama saja dan yang terinstall malah php5. Mungkin openlitespeed-nya yang belum mendukung PHP 7.0.2.
        Soalnya aslinya yg ada di pilihan hanya sampai PHP 7.0 RC7 (waktu di compile error 404 not found), saya harus edit file BuildConfig.php dan menambahkan PHP 7.02 berdasar arahan yg ada di control panel. Status compile berakhir sukses, folder PHP 7.0.2nya pun nongol.

        Cuma pengen ngerasain saja pake PHP 7 di litespeed, kayaknya belum ada masalah wordpress pake PHP7 di apache, gak tau juga kalo ada plugin atau theme yg ga support.
        Makasih buat petunjuk-nya, 😀

      • Hmm… mungkin nanti saya coba menginstall OpenLiteSpeed 1.4 dengan PHP 7.0 mas. Semoga dalam 1-2 minggu ini bisa membuatkan tutorialnya. 🙂 Pakai metode yang ga ribet, saya suka yang simple – simple saja. Males repotnya. Haha. 😀

        Kalau murni WordPress memang sudah aman mas, tapi siapa yang menggunakannya hanya aslinya? Kan pasti ditambahkan plugin dan theme. Mending kalau standar, tapi kalau sudah aneh – aneh ya berharap yang terbaik saja bisa berjalan normal. 🙂

        Saya masih menahan diri untuk upgrade ke PHP 7.0 karena hal diatas juga Memcached belum disupport.

        Update 29 Januari 2016:

        Mungkin kalau mas Jarry ngecek lagi komentarnya 🙂 , saya sudah menuliskan tutorialnya mas: https://servernesia.com/926/langkah-instalasi-openlitespeed-1-4-php-7-0/

    • Diletakkan dalam direktori apapun asalkan bisa diakses lewat browser mas. Karena nanti dieksekusi dari browser.

      Atau pakai curl mungkin bisa juga sih localhost. Belum saya coba tapi mestinya bisa.

Tinggalkan komentar