14
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

PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM …jurnal.stmikelrahma.ac.id/assets/file/Nur Fitriyanto--stmikelrahma.pdf · menerapkan prinsip dan praktek pada obyek yang ... yang menerapkan

  • Upload
    vutram

  • View
    225

  • Download
    3

Embed Size (px)

Citation preview

Page 1: PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM …jurnal.stmikelrahma.ac.id/assets/file/Nur Fitriyanto--stmikelrahma.pdf · menerapkan prinsip dan praktek pada obyek yang ... yang menerapkan

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,

e-mail: [email protected], [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

Page 2: PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM …jurnal.stmikelrahma.ac.id/assets/file/Nur Fitriyanto--stmikelrahma.pdf · menerapkan prinsip dan praktek pada obyek yang ... yang menerapkan

2

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]

Page 3: PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM …jurnal.stmikelrahma.ac.id/assets/file/Nur Fitriyanto--stmikelrahma.pdf · menerapkan prinsip dan praktek pada obyek yang ... yang menerapkan

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

Page 4: PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM …jurnal.stmikelrahma.ac.id/assets/file/Nur Fitriyanto--stmikelrahma.pdf · menerapkan prinsip dan praktek pada obyek yang ... yang menerapkan

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 :

Page 5: PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM …jurnal.stmikelrahma.ac.id/assets/file/Nur Fitriyanto--stmikelrahma.pdf · menerapkan prinsip dan praktek pada obyek yang ... yang menerapkan

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

Page 6: PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM …jurnal.stmikelrahma.ac.id/assets/file/Nur Fitriyanto--stmikelrahma.pdf · menerapkan prinsip dan praktek pada obyek yang ... yang menerapkan

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

Page 7: PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM …jurnal.stmikelrahma.ac.id/assets/file/Nur Fitriyanto--stmikelrahma.pdf · menerapkan prinsip dan praktek pada obyek yang ... yang menerapkan

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

Page 8: PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM …jurnal.stmikelrahma.ac.id/assets/file/Nur Fitriyanto--stmikelrahma.pdf · menerapkan prinsip dan praktek pada obyek yang ... yang menerapkan

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

Page 9: PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM …jurnal.stmikelrahma.ac.id/assets/file/Nur Fitriyanto--stmikelrahma.pdf · menerapkan prinsip dan praktek pada obyek yang ... yang menerapkan

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

Page 10: PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM …jurnal.stmikelrahma.ac.id/assets/file/Nur Fitriyanto--stmikelrahma.pdf · menerapkan prinsip dan praktek pada obyek yang ... yang menerapkan

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

Page 11: PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM …jurnal.stmikelrahma.ac.id/assets/file/Nur Fitriyanto--stmikelrahma.pdf · menerapkan prinsip dan praktek pada obyek yang ... yang menerapkan

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

Page 12: PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM …jurnal.stmikelrahma.ac.id/assets/file/Nur Fitriyanto--stmikelrahma.pdf · menerapkan prinsip dan praktek pada obyek yang ... yang menerapkan

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

Page 13: PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM …jurnal.stmikelrahma.ac.id/assets/file/Nur Fitriyanto--stmikelrahma.pdf · menerapkan prinsip dan praktek pada obyek yang ... yang menerapkan

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.

Page 14: PENGEMBANGAN ANALISIS PENERAPAN PHP7-FPM …jurnal.stmikelrahma.ac.id/assets/file/Nur Fitriyanto--stmikelrahma.pdf · menerapkan prinsip dan praktek pada obyek yang ... yang menerapkan

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.