1 PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM DAN HHVM SEBAGAI INTERPRETER KODE PROGRAM PHP Nur Fitriyanto 1 , Siswaya 2 1 Mahasiswa Program Studi Teknik Informatika STMIK El Rahma Yogyakarta, 2 Dosen Program Studi Teknik Informatika STMIK El Rahma Yogyakarta, e-mail: 1 [email protected], 2 [email protected]Abstract Developments in technology interpreter getting better and quickly, it’s because the need to the technology interpreter that applied to server in order to reduce the problem, like the use of a big resource, the long request, the expensive fee to lease or buy server specifications which suitable, as well as other issues. One of the solution to overcome these problems that made interpreter in form of PHP-FPM and HHVM to make the development of the area more friendly, been reviewed from the cost and consumption of resource. Along with the development of new technology, this case make confusion for many system engineer to determine which one the system that will be use to server to handle. Been reviewed from the results of the implementation above need to be held research on the implementation of the server use PHP-FPM and HHVM as interpreter code program PHP that walked on the side of server. The research will be conducted such as the benchmark speed and consumption of resource in execute code PHP program, the speed request web server, and consumption of resource server that generated by each software, so it is expected to answer interpreter which one that will be used by system engineer to overcome the problems experienced. Based on the result of the research has done in interpreter PHP7-FPM and HHMV from the side of the speed although consumption resource server in execute code program PHP so it can be concluded that the performance of interpreter HHMV more quickly 39,1% than interpreter PHP7-FPM in overcome the number of big request, whereas the consumption of resource server at HHMV smaller 26,73% compared PHP7-FPM. Keywords : Benchmark,HHVM, Interpreter, PHP7-FPM, Profiling PENDAHULUAN Perkembangan dalam teknologi interpreter kini telah semakin lebih baik dan cepat, hal ini dikarenakan kebutuhan akan teknologi interpreter yang diterapkan pada server guna mengurangi masalah yang ada, seperti penggunaan resource yang besar, request yang lama, biaya yang besar untuk menyewa ataupun membeli server dengan spesifikasi yang mempuni, serta masalah-masalah lainnya. Salah satu solusi untuk mengatasi masalah tersebut yakni dibuatlah interpreter berupa PHP-FPM dan HHVM untuk membuat lingkungan development yang lebih ramah, ditinjau dari segi biaya maupun konsumsi resource[1]. Seiring dengan banyaknya perkembangan teknologi baru, hal ini justru menimbulkan kebingungan beberapa system engineer dalam menentukan sistem mana yang akan digunakan untuk server di handle. Dengan menggunakan konfigurasi yang baik dan tepat maka diharapkan dapat meningkatkan efisiensi dan efektifitas para system engineer dalam membangun aplikasi yang dibuat. Ditinjau dari hasil pemaparan di atas maka perlu diadakan penelitian mengenai analisis penerapan server menggunakan PHP-FPM dan HHVM sebagai interpreter kode program PHP yang berjalan pada sisi server, sehingga nantinya diharapkan dapat menjawab interpreter mana yang akan digunakan oleh system engineer untuk mengatasi permasalahan yang dialami, karena seorang system engineer harus mengetahui kinerja dari sistem yang mereka pakai. Oleh sebab itu perlu diadakannya penelitian tentang penerapan PHP-FPM dan
14
Embed
PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM …jurnal.stmikelrahma.ac.id/assets/file/Nur Fitriyanto--stmikelrahma.pdf · menerapkan prinsip dan praktek pada obyek yang ... yang menerapkan
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM DAN HHVM SEBAGAI INTERPRETER KODE PROGRAM PHP
Nur Fitriyanto1, Siswaya2
1 Mahasiswa Program Studi Teknik Informatika STMIK El Rahma Yogyakarta, 2 Dosen Program Studi Teknik Informatika STMIK El Rahma Yogyakarta,
Developments in technology interpreter getting better and quickly, it’s because the need to the technology interpreter that applied to server in order to reduce the problem, like the use of a big resource, the long request, the expensive fee to lease or buy server specifications which suitable, as well as other issues. One of the solution to overcome these problems that made interpreter in form of PHP-FPM and HHVM to make the development of the area more friendly, been reviewed from the cost and consumption of resource. Along with the development of new technology, this case make confusion for many system engineer to determine which one the system that will be use to server to handle.
Been reviewed from the results of the implementation above need to be held research on the implementation of the server use PHP-FPM and HHVM as interpreter code program PHP that walked on the side of server. The research will be conducted such as the benchmark speed and consumption of resource in execute code PHP program, the speed request web server, and consumption of resource server that generated by each software, so it is expected to answer interpreter which one that will be used by system engineer to overcome the problems experienced.
Based on the result of the research has done in interpreter PHP7-FPM and HHMV from the side of the speed although consumption resource server in execute code program PHP so it can be concluded that the performance of interpreter HHMV more quickly 39,1% than interpreter PHP7-FPM in overcome the number of big request, whereas the consumption of resource server at HHMV smaller 26,73% compared PHP7-FPM. Keywords : Benchmark,HHVM, Interpreter, PHP7-FPM, Profiling PENDAHULUAN
Perkembangan dalam teknologi interpreter kini telah semakin lebih baik dan cepat, hal ini dikarenakan kebutuhan akan teknologi interpreter yang diterapkan pada server guna mengurangi masalah yang ada, seperti penggunaan resource yang besar, request yang lama, biaya yang besar untuk menyewa ataupun membeli server dengan spesifikasi yang mempuni, serta masalah-masalah lainnya. Salah satu solusi untuk mengatasi masalah tersebut yakni dibuatlah interpreter berupa PHP-FPM dan HHVM untuk membuat lingkungan development yang lebih ramah, ditinjau dari segi biaya maupun konsumsi resource[1].
Seiring dengan banyaknya perkembangan teknologi baru, hal ini justru menimbulkan kebingungan beberapa system engineer dalam menentukan sistem mana yang akan digunakan untuk server di handle. Dengan menggunakan konfigurasi yang baik dan tepat maka diharapkan dapat meningkatkan efisiensi dan efektifitas para system engineer dalam membangun aplikasi yang dibuat.
Ditinjau dari hasil pemaparan di atas maka perlu diadakan penelitian mengenai analisis penerapan server menggunakan PHP-FPM dan HHVM sebagai interpreter kode program PHP yang berjalan pada sisi server, sehingga nantinya diharapkan dapat menjawab interpreter mana yang akan digunakan oleh system engineer untuk mengatasi permasalahan yang dialami, karena seorang system engineer harus mengetahui kinerja dari sistem yang mereka pakai. Oleh sebab itu perlu diadakannya penelitian tentang penerapan PHP-FPM dan
HHVM sebagai interpreter kode program PHP. Penelitian yang akan dilakukan meliputi benchmark kecepatan dan komsumsi resource dalam mengeksekusi kode program PHP, kecepatan request webserver, dan konsumsi resource server yang dihasilkan oleh masing-masing software tersebut, sehingga nantinya diharapkan dapat menjawab interpreter mana yang akan digunakan oleh system engineer untuk mengatasi permasalahan yang dialami, karena seorang system engineer harus mengetahui kinerja dari sistem yang mereka pakai.
METODE PENELITIAN
Metodologi penelitian secara umum dapat diartikan sebagai suatu teknik atau cara dalam melakukan penelitian termasuk didalamnya kegiatan pengumpulan, penganalisaan dan pengelolah data. Metode penelitian yang digunakan dalam melakuan analisis ini antara lain : Metode Pengumpulan Data
Untuk memperoleh hasil yang akurat maka penyusun menggunakan metode-metode pengumpulan data dengan tujuan mendapatkan informasi yang sesuai dengan pokok bahasan yang penyusun tulis. Adapun metode yang digunakan penyusun antara lain : a. Metode Survei/Observasi b. Metode Percobaan/Eksperimen c. Metode Dokumentasi d. Metode Tinjauan Pustaka Metode Analisis
Peneliti melakukan analisis dan cara penyajian data analisis. Berdasarkan hasil pengamatan atau observasi pada obyek yang diteliti, sehingga dapat dipaparkan hasil analisis dalam bentuk paparan kondisi obyek, analisis proses berjalannya obyek, serta kualitas kinerja obyek ketika diterapkan dalam suatu sistem. Dalam melakukan analisis peneliti menggunakan metode analisis test-driven infrastructure, yaitu melakukan analisis dengan menerapkan prinsip dan praktek pada obyek yang dianalisis dengan menggunakan lima langkah heuristic, sebagai berikut: a. Dokumentasi. b. Pengujian (testing). c. Kode program (script). d. Versi. e. Continous. LANDASARAN TEORI Pengertian Interpreter
Interpreter merupakan perangkat-lunak yang berfungsi melakukan eksekusi sejumlah instruksi yang ditulis dalam suatu bahasa pemrograman untuk diterjemahkan ke dalam bahasa mesin, interpreter berisi library dari kode program yang mengintruksikan perintah ke dalam bahasa mesin. Sebuah interpreter membaca statement dari kode program, kemudian mengeksekusi kode program tersebut dengan memanggil library yang tersedia di dalam interpreter. [3] Pengertian PHP-FPM
PHP-FPM (FastCGI Process Manager) merupakan implementasi PHP FastCGI sebagai alternatif dengan beberapa fitur tambahan yang berguna untuk menangani server dengan beban berat, terutama untuk server yang sangat sibuk. PHP-FPM sendiri adalah sebuah protokol untuk management proccess yang berfungsi untuk menjembatani program dengan webserver. [10]
3
Pengertian HHVM HipHop Virtual Machine (HHVM) merupakan sebuah interpreter kode program PHP
yang menerapkan proses berdasarkan JIT (Just In Time) compiler yang berfungsi sebagai service dalam sebuah sistem atau sebagai mesin eksekusi untuk bahasa pemprograman PHP dan Hack. HipHop Virtual Machine dikembangkan pertama kali oleh perusahaan jejaring sosial Facebook, untuk meringankan kinerja server seiring bertambahnya pengguna Facebook. HHVM merupakan pengembangan dari versi sebelumnya yang disebut HipHop Compiler (HPHPc) yang melakukan kompilasi program menjadi bahasa biner. [11] PERANCANGAN SISTEM Alur Penelitian
Gambar 1. Alur Penelitian
Pada Gambar 4.1 menjelaskan mengenai proses yang harus dilakukan dalam penelitian ini agar memperoleh hasil yang sesuai dengan yang diharapan. Mulai dari identikasi masalah, melakukan proses study literatur, perancangan server dam implementasi PHP7-FPM dan HHVM, pengujian dan analisis tingkat optimalisasi PHP-FPM dan HHVM dengan parameter tertentu pada server, dan hasil analisis serta pemberian kesimpulan dan saran untuk penelitian lebih lanjut. Rancangan Server berserta PHP7-FPM dan HHVM
4
Gambar 2. Skema Server dan Laptop Remote
Pada Gambar 4.2 menjelaskan mengenai skema penelitian yang menggunakan dua buah server, yaitu serverphp7fpm dan serverhhvm dimana serverphp7fpm akan diinstal PHP7-FPM dan Apache2, sedangkan serverhhvm akan diinstal HHVM dan Apache2. Peneliti menggunakan sebuah laptop untuk digunakan sebagai media remote server yang berguna untuk mengkonfigurasi kedua server tersebut. Metode Pengambilan Data Pengolahan data yang didapatkan dari proses penelitian ini, Peneliti akan mencari nilai rata-rata dari hasil pengujian kecepatan dan konsumsi resource server. Dimana hasil nilai rata-rata tersebut diambil dari proses penjumlah tiap-tiap fungsi yang ada, lalu dibagi dengan jumlah fungsi. Dari penjelasan tersebut maka diperoleh rumus untuk mencari nilai rata-rata, sebagai berikut.
𝑴𝒆𝒂𝒏 (𝒙) =𝒏𝟏 + 𝒏𝟐 + 𝒏𝟑+. . . 𝒏𝐭
𝐣𝐮𝐦𝐥𝐚𝐡 𝐭
Keterangan : Mean(x) = Nilai rata-rata dari hasil perhitungan n = Nilai dari tiap variable t = Urutan fungsi. Rumus yang digunakan Peneliti untuk mencari selisih nilai dari data yang didapatkan untuk PHP7-FPM dan HHVM pada tiap varibale yang digunakan, sebagai berikut.
𝑺 = 𝑴𝒆𝒂𝒏(𝒃) − 𝑴𝒆𝒂𝒏(𝒌) Keterangan : S = Nilai selisih dari hasil perhitungan Mean(b) = Nilai rata-rata yang lebih besar Mean (k) = Nilai rata-rata yang lebih kecil Persamaan yang digunakan untuk membandingkan kinerja proses dari HHVM terhadap kinerja proses PHP7-FPM, yaitu :
(𝒎𝒆𝒂𝒏(𝑷𝑯𝑷𝟕 − 𝑭𝑷𝑴) − 𝑴𝒆𝒂𝒏(𝑯𝑯𝑽𝑴)
𝑴𝒆𝒂𝒏(𝑷𝑯𝑷𝟕 − 𝑭𝑷𝑴)) 𝒙 𝟏𝟎𝟎%
Keterangan :
5
Mean(PHP7-FPM) = Nilai mean (rata-rata) PHP7-FPM Mean(HHVM) = Nilai mean (rata-rata) HHVM HASIL DAN PEMBAHASAN Analisis Benchmark pada Kode Program PHP Proses analisis ini menggunakan zend sebagai dasar dan standarisasi untuk melakukan proses benchmarking kode program PHP. Pengujian terhadap script benchmark yang telah dilakukan sebanyak lima kali iterasi dengan variasi yang berbeda menghasilkan nilai rata-rata (mean) pada setiap fungsi.
Gambar 3. Grafik Perbandingan Hasil Pengujian
Keseluruhan terhadap Script Benchmarks Pada Gambar 5.19 menunjukkan grafik perbandingan nilai rata-rata selisih pada berbagai fungsi dalam kode zend benchmark yang diuji. Grafik tersebut menggambarkan selisih nilai terbesar dalam pengujian ada pada fungsi Mandel2() yang memiliki nilai selisih sebesar 0,1756, ini menunjukkan bahwa interpreter PHP7-FPM memiliki nilai optimal yang
0.0074
0.0248
0.0526
0.0462
0.0402
0.019
0.0266
0.1914
0.0856
0.005
0.007
0.0612
0.2792
0.251
0.0836
0.0884
0.013
0.035
0.006
0.0292
0.054
0.0282
0.0618
0.0162
0.0334
0.187
0.1218
0.0054
0.011
0.0396
0.1036
0.1038
0.042
0.0422
0.0174
0.0354
0 0.05 0.1 0.15 0.2 0.25 0.3
Strcat(200000)
Sieve(30)
Nestedloop(12)
Matrix(20)
Heapsort(20000)
Hash2(500)
Hash1(5000)
Fibo(30)
Ary3(2000)
Ary2(5000)
Ary(5000)
Ackermann(7)
Mandel2()
Mandel()
Simpleudcall()
Simpleucall()
Simplecall()
Simple()
Hasil Benchmark
HHVM PHP7-FPM
6
tinggi pada fungsi Mendel2() daripada interpreter HHVM, sedangkan selisih nilai terendah ada pada fungsi Simple() dan Ary2(5000) yang masing-masing memiliki nilai 0,0004, hal ini berarti kedua interpreter tersebut tidak terdapat perbedaan yang signifikan dalam memproses fungsi Simple() dan Ary2(5000). Analisis Resource pada Kode Program PHP Dalam tahapan ini peneliti melakukan analisa terhadap resource yang digunakan ketika proses benchmark kode program PHP. Proses analisis ini menggunakan tool XHProf untuk profiling kode program benchmark zend, dimana akan menghasilkan nilai penggunaan resource data CPU Time, Memory Usage, Memory Peak dan Walltime dari setiap fungsi yang digunakan pada kode program benchmark. a. Analisis CPU Time
Gambar 4. Grafik Hasil Analisis CPU Time
pada Proses Profiling Berdasarkan Gambar 5.20 terlihat bahwa fungsi fibo(30) mempunyai CPU time yang paling tinggi dibandingkan dengan beberapa fungsi lainnya, hal ini menunjukkan bahwa kedua interpreter tersebut membutuhkan waktu yang cukup lama ketika memproses fungsi fibo(30), sedangkan fungsi yang memiliki nilai CPU time yang paling rendah terdapat pada fungsi strcat(200000).
b. Analisis Memory Usage
Pada Gambar 5.21 terlihat bahwa komsumsi memori pada kode benchmark yang
menghasilkan nilai paling besar terdapat pada fungsi ackermaan(7). Nilai komsumsi
memori pada fungsi ackermann(7) ini terlihat sangat menonjol dan paling tinggi bila
dibandingkan dengan nilai pada fungsi yang lainnya. Hal ini dibuktikan dengan nilai
selisih pada fungsi ackermaan(7) dengan fungsi yang lainnya terlampau sangat besar.
0
500000
1000000
1500000
2000000
2500000
3000000
3500000
4000000
4500000
simple
simplecall
simpleucall
simpleudcall
mandel
mandel2
ackerm
ann(7)
ary(5000)
ary2(5000)
ary3(2000)
fibo(30)
hash1(5000)
hash2(500)
heapsort(20000)
matrix(20)
nestedloop(12)
sieve(30)
strcat(200000)
CPU time
PHP7-FPM HHVM
7
Gambar 5.21 Grafik Hasil Analisis Memory Usage
pada Proses Profiling c. Analisis Peak Memory
Gambar 5. Grafik Hasil Analisis Peak Memory
pada Proses Profiling Mengacu pada Gambar 5.22, terlihat bahwa nilai memory peak paling besar ada pada fungsi ary(5000). Meskipun interpreter PHP7-FPM dan HHVM mempunyai nilai memory peak yang sama-sama besar pada fungsi ary(5000) dibandingkan dengan fungsi yang lainnya, namun pada interpreter PHP7-FPM memiliki nilai memory peak dua kali lipat lebih besar dibandingkan dengan interpreter HHVM, sedangkan nilai memory peak pada fungsi lainnya menghasilkan nilai yang tidak terlalu besar.
0
20000
40000
60000
80000
100000
120000
simple
simplecall
simpleucall
simpleudcall
mandel
mandel2
ackerm
ann(7)
ary(5000)
ary2(5000)
ary3(2000)
fibo(30)
hash1(5000)
hash2(500)
heapsort(20000)
matrix(20)
nestedloop(12)
sieve(30)
strcat(200000)
Memory Usage
PHP7-FPM HHVM
0
2000000
4000000
6000000
8000000
10000000
12000000
14000000
simple
simplecall
simpleucall
simpleudcall
mandel
mandel2
ackerm
ann(7)
ary(5000)
ary2(5000)
ary3(2000)
fibo(30)
hash1(5000)
hash2(500)
heapsort(20000)
matrix(20)
nestedloop(12)
sieve(30)
strcat(200000)
Peak Memory
PHP7-FPM HHVM
8
d. Analisis Walltime
Gambar 6. Grafik Perbandingan Analisis Walltime
pada Proses Profiling Mengacu pada Gambar 5.23 yang menampilkan grafik perbandingan hasil analisis walltime pada proses profiling menggunakan XHProf. Terlihat bahwa walltime pada kedua interpreter yang memiliki nilai tertinggi ada difungsi fibo(30), sedangkan nilai terendah ada difungsi strcat(200000). Hal ini menunjukkan bila interpreter PHP7-FPM dan HHVM dalam memproses fungsi fibo(30) membutuhkan waktu yang cukup lama, sedangkan dalam memproses fungsi strcat(200000) hanya membutuhkan waktu yang cukup singkat.
Analisis Kecepatan Interpreter PHP terhadap Webserver Proses pengujian kinerja dan pengambilan data pada webserver berdasarkan parameter jumlah permintaan yang dikirim. Jumlah permintaan yang dikirim menuju webserver dilakukan sebanyak lima kali dengan variasi yang berbeda, mulai dari 100, 500, 1000, 5000 dan 10000. Jumlah permintaan dibuat bervariasi untuk mensimulasikan penggunaan webserver pada dunia nyata yang selalu diakses secara simultan oleh client. Nilai rata-rata dari proses benchmark tersebut diambil dari jumlah permintaan yang dikirim menuju webserver. a. Analisis Jumlah Request per Second
Pada Gambar 5.24 dapat dilihat bahwa interpreter PHP7-FPM memiliki request/second yang lebih tinggi bila dibandingkan dengan interpreter HHVM. Pada interpreter HHVM mengalami kenaikan seiring bertambahnya jumlah koneksi nilai request/second HHVM, kenaikan ini berdasarkan pada jumlah koneksi 100 hingga 5000 kemudian pada jumlah koneksi 10000 mengalami penurunan, sedangkan pada interpreter PHP7-FPM cenderung mengalami fluktuatif atau kondisi yang tidak stabil dari tiap jumlah koneksi yang dikirim.
0
500000
1000000
1500000
2000000
2500000
3000000
3500000
4000000
4500000
simple
simplecall
simpleucall
simpleudcall
mandel
mandel2
ackerm
ann(7)
ary(5000)
ary2(5000)
ary3(2000)
fibo(30)
hash1(5000)
hash2(500)
heapsort(20000)
matrix(20)
nestedloop(12)
sieve(30)
strcat(200000)
Walltime
PHP7-FPM HHVM
9
Gambar 7. Grafik Perbandingan Jumlah
Request per Second b. Analisis Transfer Rate
Gambar 8. Grafik Perbandingan Jumlah
Transfer Rate (Kbytes/sec) Dapat dilihat pada gambar 5.25 bahwa interpreter PHP7-FPM memiliki transfer rate yang lebih tinggi bila dibandingkan dengan interpreter HHVM. Pada interpreter HHVM mengalami kenaikan pada jumlah koneksi 100 hingga 5000, kemudian pada jumlah koneksi 10000 cenderung mengalami penurunan, sedangkan pada interpreter PHP7-FPM cenderung mengalami fluktuatif atau kondisi yang tidak stabil dari tiap jumlah koneksi yang dikirim.
100 500 1000 5000 10000
PHP7-FPM 45.36 45.72 49.43 49.65 48.03
HHVM 41.67 45.71 48.36 49.73 49.17
36
38
40
42
44
46
48
50
52
Request per Second
PHP7-FPM HHVM
100 500 1000 5000 10000
PHP7-FPM 475.22 478.98 517.81 520.14 503.15
HHVM 436.82 479.19 506.97 521.35 515.49
380
400
420
440
460
480
500
520
540
Transfer Rate
PHP7-FPM HHVM
10
c. Analisis Time per Request
Gambar 9. Grafik Perbandingan Jumlah
Time per Request (second) Pada Gambar 5.26 menunjukkan bahwa interpreter PHP7-FPM dan HHVM cenderung mengalami fluktuatif atau kondisi yang tidak stabil dari tiap jumlah koneksi yang dikirim, hal ini dibuktikan pada jumlah koneksi 100 hingga 5000 interpreter PHP7-FPM dan HHVM mengalami penurunan kemudian mengalami kenaikan pada jumlah koneksi 10000.
d. Analisis Maximum Time Taken
Gambar 10. Grafik Perbandingan Jumlah
Maximum Time Taken Mengacu pada Gambar 5.27 yang menunjukkan visualisasi perbandingan maximum time taken dari penelitian yang dilakukan pada interpreter PHP7-FPM dan HHVM, dapat dilihat selisih yang dihasilkan PHP7-FPM dan HHVM semakin besar
100 500 1000 5000 10000
PHP7-FPM 22.046 21.873 20.233 20.142 20.822
HHVM 23.999 21.877 20.679 20.108 20.337
18.0
19.0
20.0
21.0
22.0
23.0
24.0
25.0
Time per Request
PHP7-FPM HHVM
100 500 1000 5000 10000
PHP7-FPM 2.205 10.936 20.233 100.708 208.22
HHVM 2.4 10.939 20.679 100.541 203.366
0
50
100
150
200
250
Maximum Time Taken
PHP7-FPM HHVM
11
seiring dengan peningkatan jumlah koneksi, yang paling mencolok dari kedua interpreter tersebut adalah ketika jumlah koneksi berada pada angka 1000. Pada saat jumlah koneksi berada diatas 1000 maka kedua interpreter mengalami lonjakan waktu tempuh yang signifikan.
Analisis Konsumsi Resource Server terhadap Jumlah Permintaan Pengujian ini bertujuan untuk mengetahui konsumsi resource server (CPU dan Memory) ketika menggunakan interpreter PHP7-FPM dan HHVM, dimana jumlah permintaan yang dikirim menuju webserver dilakukan sebanyak lima kali dengan variasi yang berbeda, mulai dari 100, 500, 1000, 5000 dan 10000. Jumlah permintaan dibuat bervariasi untuk mensimulasikan penggunaan webserver pada dunia nyata yang selealu diakses secara simultan oleh client. a. Analisis Penggunaan CPU
Gambar 11. Perbandingan Penggunaan CPU User
terhadap Webserver Apache2 Terlihat pada Gambar 5.28 menunjukkan grafik perbandingan penggunaan CPU User pada interpreter PHP7-FPM dan HHVM yang diimplementasikan pada server. Pada jumlah koneksi 100 didapati jumlah penggunaan CPU User pada kedua interpreter berada pada kondisi Ok (Green), karena konsumsi penggunaan CPU User tidak melebihi dari 50%, saat jumlah koneksi lebih dari n=500 didapati jumlah penggunaan CPU User pada interpreter PHP7-FPM melebihi 90% hal ini memicu alert pada glances dengan status Critical (Red), sedangkan pada interpreter HHVM memiliki rate CPU User melebihi 70% hal ini memicu alert status warning pada glances. Berdasarkan hasil tersebut maka dapat disimpulkan bahwa semakin besar jumlah koneksi yang dikirim menuju server kemungkinan semakin besar pula konsumsi CPU, dari data tersebut juga dapat disimpulkan untuk mengatasi jumlah koneksi yang bersar spesifikasi server yang digunakan oleh peneliti kurang memadahi untuk menampung beban tersebut.
48.9
91.8 91.5 93.4 93.1
41.1
77.8 79.1 79.4 77.9
0
10
20
30
40
50
60
70
80
90
100
100 500 1000 5000 10000
CPU User (%)
PHP7-FPM HHVM
12
Gambar 12. Perbandingan Penggunaan CPU System
terhadap Webserver Apache2 Terlihat pada Gambar 5.29 menunjukkan grafik perbandingan penggunaan CPU System pada interpreter PHP7-FPM dan HHVM. Pada kedua interpreter tersebut awalnya (100) mengalami peningkatan seiring bertambahnya jumlah koneksi (500) yang dikirim menuju server, namun pada jumlah koneksi 1000 cenderung mengalami penurunan. Hal ini membuktikan bahwa kedua interpreter tersebut cenderung mengalami fluktuatif pada CPU System.
b. Analisis Penggunaan RAM
Gambar 13. Perbandingan Penggunaan RAM
terhadap Webserver Apache2 Terlihat pada Gambar 5.30 grafik perbandingan penggunaan RAM antara
interpreter PHP7-FPM dan HHVM terhadaap Webserver Apache2. Pada interpreter HHVM menunjukkan penggunaan resource RAM yang lebih besar daripada interpreter PHP7-FPM.
4.7
8.2 7.56.3 6.3
12.9
20.719.6 20.3
21.5
0
5
10
15
20
25
100 500 1000 5000 10000
CPU System (%)
PHP7-FPM HHVM
55.3
54.654.8
54.5
55.5
56.4 56.4
56.155.9
56.2
53.5
54
54.5
55
55.5
56
56.5
57
100 500 1000 5000 10000
Memory Used (%)
PHP7-FPM HHVM
13
Berdasarkan hasil penelitian tersebut maka dapat disimpulkan bahwa interpreter HHVM sebaiknya dijalankan pada server yang memiliki kapasitas RAM yang besar.
KESIMPULAN Berdasarkan uraian dari hasil penelitian serta pembahasan dari bab-bab sebelumnya, maka dapat diambil kesimpulan sebagai berikut. a. Kecepatan dalam mengeksekusi kode program PHP (script benchmark zend) menunjukkan
bahwa interpreter HHVM memiliki waktu proses yang lebih singkat 39,1% dibandingkan interpreter PHP7-FPM.
b. Komsumsi resource dalam mengeksekusi kode program PHP menunjukkan bahwa Interpreter HHVM memiliki waktu yang lebih kecil 26,73% dibandingkan interpreter PHP7-FPM dalam variable CPU Time dan Walltime, sedangkan pada variable memory usage HHVM memiliki komsumsi resource yang lebih tinggi 3,98% daripada PHP7-FPM, namun pada variable peak memory interpreter HHVM memiliki komsumsi resource yang lebih kecil 54,04% bila dibandingkan dengan interpreter PHP7-FPM.
c. Pada pengujian kecepatan interpreter PHP terhadap kinerja webserver dalam variable request/second menghasilkan nilai rata-rata HHVM yang lebih rendah 1,30% bila dibandingkan dengan PHP7-FPM.
d. Pada hasil pengujian komsumsi resource server menunjukkan bahwa penggunaan CPU pada interpreter HHVM lebih kecil 0,30% daripada interpreter PHP7-FPM, sedangkan komsumsi RAM pada interpreter HHVM menunjukkan penggunaan yang lebih besar 2,24% bila dibandingkan dengan interpreter PHP7-FPM.
e. Kinerja interpreter HHVM lebih cepat 39,1% daripada interpreter PHP7-FPM dalam mengatasi jumlah permintaan yang besar, sedangkan komsumsi resource server pada HHVM lebih kecil 26,73% dibandingkan PHP7-FPM.
SARAN Berdasarkan hasil penelitian mengenai “Pengembangan Analisis Penerapan PHP7-FPM dan HHVM Sebagai Interpreter Kode Program PHP” yang telah dilakukan tentunya masih banyak kekurangan. Adapun saran sebagai bahan pertimbangan untuk penyempurnaan penelitan selanjutnya, diantaranya sebagai berikut. a. Penelitian selanjutnya dapat dikembangkan dengan menggunakan jenis sistem operasi
server selain Ubuntu Server. b. Penelitian dapat dikembangkan dengan mengubah tools profiling selain menggunakan
XHProf dan XHGui. c. Penelitian dapat dikembangkan dengan menggunakan monitoring software lainnya, seperti
atop, htop, apachetop ataupun jenis monitoring software yang lain. d. Penelitian selanjutnya dapat dikembangkan dengan menggunakan benchmarking tools
lainnya, seperti Apache JMeter, GoBoom, Httpref maupun jenis benchmarking tools yang lain. DAFTAR PUSTAKA [1]Sadida. 2015. Analisis Penerapan PHP-FPM dan HHVM Sebagai Interpreter Kode Program
PHP. Skripsi, Yogyakarta: Sekolah Tinggi Manajemen Informatika dan Komputer AMIKOM.
[2]Arfriandi. 2012. Perancangan, Implementasi dan Analisis Kinerja Virtualisasi Server Menggunakan Proxmox, VMWare ESX dan Openstack. Jurnal Magister Teknologi Informasi Universitas Gadjahmada Vol 5, No 2. Yogyakarta.
[3]Agung. 1999. Belajar Sendiri Membuat Homepage interakrif dengan CGI/Perl. Jakarta : PT. Elex Media Komputindo.
14
[4]Lockhart. 2015. Modern PHP : New Features and Good Practices. United States of America : O’Reailly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.
[5]Yamauchi. 2010. Hack and HHVM : Programing Productivity Without Breaking Things. United States of America : O’Reailly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.
[6]Banerjee. 2014, Desember. Deploy a faster wordpress with HHVM and PHP-FPM as fallback.https://www.flockport.com/deploy-wordpress-with-hhvm-and-php-fpm-as-fallback/. Diakses pada 01 mei 2016.
[7]Gavalda. 2015, Desember. The Definitive PHP 7.0 & HHVM Benchmark. https://kinsta.com/blog/the-definitive-php-7-final-version-hhvm-benchmark/. Diakses pada 01 mei 2016.
[8]Podgorny. 2013, April. How Does Virtualization Work. http://www.accuritsolutions.com/blog/how-does-virtualization-work/. Diakses pada 09 mei 2016.
[9]IdCloudHots. 2015, Agustus. Pengertian Web Server dan Fungsinya. https://idcloudhost.com/pengertian-web-server-dan-fungsinya/. Diakses pada 02 mei 2016.
[10]PHP-FPM. 2014. PHP-FPM - A simple and robust FastCGI Process Manager for PHP. http://php-fpm.org/about/. Diakses pada 02 mei 2016.
[11]HHVM. Moving fast with high performance Hack and PHP. http://hhvm.com/. Diakses pada 02 mei 2016.
[12]Heinlein. 1998, November. FastCGI: Persistent Applications for Your Web Server. http://www.linuxjournal.com/article/2607. Diakses pada 23 mei 2016.
[13]Shoppen. 2012, Januari. Magento-Shop mit Nginx und PHP-FPM. http://www.linux-magazin.de/Ausgaben/2012/01/Magento-Hosting. Diakses pada 23 mei 2016.