Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server...

17
Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi Artikel Ilmiah Diajukan kepada Fakultas Teknologi Informasi Untuk Memperoleh Gelar Sarjana Komputer Peneliti: Novalda Aditya Putra (672011168) Indrastanti Ratna Widiasari, M.T. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga November 2016

Transcript of Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server...

Page 1: Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi . Artikel Ilmiah . Diajukan kepada .

Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada

Platform Raspberry Pi

Artikel Ilmiah

Diajukan kepada

Fakultas Teknologi Informasi

Untuk Memperoleh Gelar Sarjana Komputer

Peneliti:

Novalda Aditya Putra (672011168)

Indrastanti Ratna Widiasari, M.T.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

November 2016

Page 2: Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi . Artikel Ilmiah . Diajukan kepada .

2

Page 3: Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi . Artikel Ilmiah . Diajukan kepada .

3

Page 4: Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi . Artikel Ilmiah . Diajukan kepada .

4

Page 5: Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi . Artikel Ilmiah . Diajukan kepada .

5

Page 6: Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi . Artikel Ilmiah . Diajukan kepada .

2

Page 7: Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi . Artikel Ilmiah . Diajukan kepada .

3

1. Pendahuluan

Raspberry Pi merupakan hasil karya sebuah yayasan nirlaba asal Inggris yaitu

Raspberry Pi Foundation yang awalnya membuat perangkat ini untuk menarik

minat anak-anak agar bercita-cita menjadi seorang pengembang atau developer

baik di bidang hardware maupun software [1]. Raspberry Pi dirilis dengan lisensi

Open-Source Hardware yang berarti rancangan perangkat kerasnya dirilis ke

publik agar dapat bebas dipelajari, dimodifikasi, didistribusi, dirakit, dan dijual

sesuai rancangan aslinya [2]. Dirilis dengan lisensi Open-Source Hardware,

Raspberry Pi dengan seketika menjadi populer dan telah dipergunakan untuk

berbagai keperluan, diantaranya untuk hardware yang menjalankan: media center,

networked computer, dan aplikasi web server [1]. Rasberry Pi banyak digunakan

sebagai server pengganti PC karena ukurannya yang kecil serta hemat daya

namun mempunyai fungsi yang sangat besar yaitu sebagai file server dan

download server. Penelitian ini mengkaji kelayakan Raspberry Pi sebagai

hardware untuk menjalankan aplikasi web server dengan cara mengukur kinerja

aplikasi tersebut saat dijalankan pada Raspberry Pi.

Aplikasi web server merupakan suatu perangkat lunak yang berjalan di sisi

server dan bertugas untuk menerima request dari web browser, menerjemahkan

request tersebut, dan mengembalikan ke web browser hasil dari request itu [3].

Request dari web browser dapat berupa request untuk mengirimkan suatu halaman

statis (sebuah berkas yang terdapat di server) atau request untuk suatu halaman

dinamis (halaman yang dibangkitkan oleh suatu program yang berjalan di server).

Jika request adalah untuk suatu halaman statis maka aplikasi web server akan

mencari berkas tersebut dan mengirimkannya ke web browser. Jika request adalah

untuk suatu halaman dinamis maka aplikasi web server akan memanggil program

yang sesuai, menampung keluaran dari program tersebut, dan mengirimkan hasil

keluaran tersebut ke web browser yang memintanya. Dalam penelitian ini, kinerja

aplikasi web server yang dijalankan pada Raspberry Pi diukur saat melayani

kedua tipe halaman ini.

Hasil survey W3Techs per Juni 2014 mengidentifikasi adanya lebih dari 60

aplikasi web server yang saat itu dipakai di Internet. Survey ini juga

mengidentifikasi sepuluh web server yang paling banyak dipakai, yaitu: Apache,

Nginx, Microsoft IIS, LiteSpeed, Google Servers (web server internal Google),

Tomcat (berbasis Apache), Lighttpd, Yahoo Traffic Server (web server internal

Yahoo), Tengine (varian dari Nginx), dan IBM Servers (varian dari Apache) [4].

Penelitian ini hanya memfokuskan diri kepada aplikasi web server: Nginx dan

Tomcat. Pada penelitian sebelumnya menyatakan bahwa Nginx memiliki kinerja

terbaik dalam Raspberry Pi karena mampu menangani 5300 request simultan

untuk halaman-halaman dinamis serta kesemua request ini dapat dilayani dalam

kurun waktu rata-rata mendekati 1 detik [5]. Tomcat open source merupakan

suatu wadah aplikasi web berbasis java yang diciptakan untuk menjalankan servlet

dan JSP (Java Server Pages) aplikasi web. Servlet adalah aplikasi java yang

dijalankan di sisi server, script Servlet yang ditulis (Java) akan diolah oleh Server

(Servlet Container) menghasilkan tampilan akhir script HTML yang berbeda di

Web Browser. Dalam penelitian ini, kinerja dari kedua aplikasi web server ini

diuji untuk membandingan kinerja masing-masing aplikasi web server dengan

Page 8: Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi . Artikel Ilmiah . Diajukan kepada .

4

HTML dan PHP untuk menentukan aplikasi yang mana yang paling cocok untuk

dijalankan pada Raspberry Pi.

Salah satu topologi yang umum dipakai untuk perangkat web server adalah

dengan menempatkan aplikasi web server dan halaman-halaman statis atau

program yang akan membangkitkan halaman-halaman dinamis pada perangkat

yang sama. Topologi ini dapat dilihat pada Gambar 1.

Gambar 1 Perancangan Topologi Jaringan

Penelitian ini menggunakan satu Raspberry Pi sebagai node router dan satu

PC atau Laptop sebagai node client. Dalam topologi ini aplikasi web server akan

berjalan di Raspberry Pi yang sama-sama berada pada satu jaringan lokal.

Penelitian ini memakai topologi ini dalam menguji kelayakan dan kinerja aplikasi

web server.

2. Tinjauan Pustaka Berdasarkan penelitian yang telah dilakukan oleh Prabowo [6] bahwa salah

satu alternatif untuk menanggulangi kebutuhan akan spesifikasi hardware yang

tinggi pada server adalah dengan memanfaatkan Raspberry Pi. Raspberry Pi

merupakan komputer mini yang memiliki ukuran kecil yaitu sebesar kartu ATM

tetapi mampu menjalankan tugas yang sama dengan komputer PC. Spesifikasi

teknis Raspberry Pi terdiri atas: prosesor Broadcom BCM2835 700MHz, memori

512MB untuk Tipe B atau 256MB untuk tipe A, memakai SD Card sebagai

pengganti harddisk, dan memakai daya 2,5W serta berdimensi 3,37” x 2,21” x

0.83” dan memiliki berat 45gr. Penelitian lain yang dilakukan oleh Rahmad [5]

bahwa Nginx merupakan web server terbaik dalam perbandingan kinerja antara

web server Apache, Nginx, Lightppd pada platform Rasberry Pi. Dalam penelitian

tersebut didapatkan hasil Nginx memiliki kinerja terbaik dalam Raspberry Pi

karena mampu menangani 5300 request simultan untuk halaman-halaman dinamis

serta kesemua request ini dapat dilayani dalam kurun waktu rata-rata mendekati 1

detik.

Dalam penelitian terdapat dasar-dasar teori yang digunakan penulis sebagai

dasar dari penelitian mengenai perbedaan web server Nginx jika dibandingan

Page 9: Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi . Artikel Ilmiah . Diajukan kepada .

5

dengan web server Tomcat. Raspberry Pi adalah sebuah SBC (Single Board

Computer) seukuran kartu kredit yang dikembangkan oleh Yayasan Raspberry Pi

di Inggris (UK) dengan maksud untuk memicu pengajaran ilmu komputer dasar di

sekolah-sekolah. Raspberry Pi bersifat open source (berbasis Linux), Raspberry Pi

bisa dimodifikasi sesuai kebutuhan penggunanya. Sistem operasi utama Raspberry

Pi menggunakan Debian GNU/Linux dan bahasa pemrograman Python. Salah satu

pengembang OS untuk Raspberry Pi telah meluncurkan sistem operasi yang

dinamai Raspbian, Raspbian diklaim mampu memaksimalkan perangkat

Raspberry Pi. Sistem operasi tersebut dibuat berbasis Debian yang merupakan

salah satu distribusi Linux OS. Raspberry Pi banyak digunakan untuk penelitian,

hal ini karena Raspberry Pi sangat efisien, mudah digunakan, dan multifungsi.

Aplikasi web server merupakan suatu perangkat lunak yang berjalan di sisi

server dan bertugas untuk menerima request dari web browser, menerjemahkan

request tersebut, dan mengembalikan ke web browser hasil dari request itu. Web

server merupakan pelayan (pemberi layanan) bagi web client (browser) seperti

Mozilla, Chrome, Internet Explorer, Opera, Safari dan lain sebagainya, supaya

browser dapat menampilkan halaman atau data yang anda minta. Fungsi utama

dari web server adalah untuk mentransfer atau memindahkan berkas yang diminta

oleh pengguna melalui protokol komunikasi tertentu. Dalam satu halaman web

biasanya terdiri dari berbagai macam jenis berkas seperti gambar, video, teks,

audio, file dan lain sebagainya, maka pemanfaatan web server berfungsi juga

untuk mentransfer keseluruhan aspek pemberkasan dalam halaman tersebut,

termasuk teks, gambar, video, audio, file dan sebagainya [3].

Nginx adalah sebuah server HTTP dan reverse proxy bebas berbasis open-

source yang berkemampuan tinggi, juga dapat digunakan sebagai server proxy

IMAP/POP3. Software ini diciptakan oleh Igor Sysoev pada tahun 2002, dan

dirilis untuk pertama kalinya secara umum pada tahun 2004. Saat ini Nginx

digunakan oleh 7,65% (22.8juta) nama domain di seluruh dunia. Nginx terkenal

karena performanya yang tinggi, stabil, memiliki banyak fitur, mudah dikonfigur,

dan menggunakan hanya sedikit sumberdaya pada server.

Nginx adalah salah satu dari sebagian kecil software untuk server yang

diciptakan untuk mengatasi problem C10K. Tidak seperti software server yang

umum lainnya, Nginx tidak bergantung kepada thread untuk melayani client.

Sebaliknya, Nginx menggunakan arsitektur asynkronus yang lebih stabil.

Arsitektur ini membutuhkan lebih sedikit memory, dan yang lebih penting, dapat

diperkirakan [7].

Apache tomcat adalah sebuah open source web server yang di kembangkan

oleh Apache Sofware Fondation (ASF). Tomcat mengimplementasikan Java

Servlet dan juga Java Server Page (JSP) spesifikasi dari Oracle Corporation, dan

menyediakan java HTTP web server yang bisa dijalankan dengan kode java.

Istilah container digunakan untuk menunjuk pada suatu web server

yang mempunyai kemampuan untuk eksekusi suatu API tertentu. Dengan

demikian Servlet dan JSP container sebenarnya merupakan suatu web server

yang menyediakan API untuk servlet dan JSP. Web server merupakan software

yang digunakan untuk menyediakan fasilitas yang memungkinkan melayani

request protokol HTTP dari web client (Firefox, Opera, IE, dan lain-lain).

Page 10: Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi . Artikel Ilmiah . Diajukan kepada .

6

Servlet merupakan komponen di sisi server yang mempunyai kemampuan

untuk memproses request dari client secara dinamis. Servlet mirip dengan applet

di sisi client (browser) tetapi dijalankan di sisi server tanpa “wajah” / antarmuka.

Servlet memang memungkinkan mengirimkan hasil berupa file HTML ataupun

lainnya.

Apache JMeter adalah perangkat lunak open-source, murni 100% aplikasi

Java yang dirancang untuk melakukan uji fungsional dan mengukur kinerja suatu

server software (seperti aplikasi web), dan perlu juga diketahui bahwa JMeter

bukanlah browser. Dari sisi web-service mungkin Jmeter terlihat seperti browser

(atau lebih tepatnya beberapa browser), namun sesungguhnya JMeter tidak

melakukan semua tindakan layaknya browser pada umumnya. Secara khusus,

JMeter tidak mengeksekusi Javascript yang ditemukan di HTML. Juga tidak

merender halaman HTML sebagaimana layaknya browser [8].

3. Metode Penelitian

Metode penelitian yang dilakukan melalui tahapan penelitian yang terbagi

dalam 5 tahapan. Tahap pertama adalah menentukan topologi jaringan. Hal ini

dilakukan agar dapat menentukan dan membuat jaringan yang dibentuk oleh node

router dan node client. Topologi jaringan yang dibuat pada penelitian ini sama

seperti topologi jaringan web server pada umumnya seperti pada Gambar 1

menggunakan 1 PC dan 1 Raspberry pi.

Tahap kedua adalah penentuan spesifikasi perangkat dilakukan agar dapat

mengetahui perangkat yang sesuai dan dapat berjalan dengan baik sesuai dengan

kebutuhan web server pada Raspberry Pi. Adapun perangkat yang digunakan

dapat dispesifikasikan menjadi dua, yaitu perangkat keras (hardware) dan

perangkat lunak (software).

Berdasarkan bentuk topologi jaringan yang digunakan dalam penelitian untuk

membangun infrastruktur web server, dibutuhkan satu buah node router yaitu

Rasberry Pi, dan satu buah PC untuk node client. Berdasarkan kebutuhan tersebut

node router yang digunakan adalah Raspberry Pi tipe B+. Untuk node client

digunakan laptop dengan spesifikasi minimal menggunakan Processor Core i3,

RAM 2GB, dan WLAN Card.

Untuk spesifikasi software dibagi menjadi spesifikasi software yang

digunakan pada node router dan spesifikasi software untuk node client.

Spesifikasi software yang digunakan pada node router adalah menyangkut

penggunaan sistem operasi dan aplikasi web server yang digunakan. Untuk sistem

operasi yang digunakan adalah Raspbian Jessie 4.4 yang berbasis Debian dengan

aplikasi web server Nginx dan Tomcat.

Spesifikasi software yang digunakan pada node client adalah menyangkut

penggunaan sistem operasi dan aplikasi pendukung. Untuk sistem operasi yang

digunakan adalah Windows 8 dan aplikasi untuk pengujian performance web

server digunakan JMeter.

Tahap ketiga adalah instalasi software dilakukan pada node router dan node

client, agar aplikasi web server dapat berjalan dengan baik. Pada node router

dilakukan instalasi Raspbian Jessie versi 4.4 yang merupakan sistem operasi

Page 11: Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi . Artikel Ilmiah . Diajukan kepada .

7

berbasis Debian yang khusus digunakan untuk hardware Raspberry Pi, selain itu

juga instalasi paket Nginx dan Tomcat yang merupakan web server yang akan

digunakan pada Raspberry Pi. Pada node client dilakukan instalasi JMeter yang

digunakan untuk menguji performance web server.

Tahap keempat melakukan Konfigurasi jaringan web server merupakan hal

yang terpenting dalam tahapan penelitian ini, dimana sangat menentukan berhasil

atau tidaknya sistem. Setiap node router dan node client dalam jaringan LAN

harus diberikan pengalamatan pada interfaces yang digunakan dengan

menggunakan Ipv4. Setiap web server dalam node router harus dikonfigurasi agar

dapat berjalan dengan lancar untuk dapat menerima request dari web browser

kemudian dikembalikan ke web browser lagi untuk ditampilkan.

Pada tahap ini dilakukan konfigurasi pengalamatan pada semua node yang

bertujuan sebagai jalur koneksi jaringan. Langkah pertama yaitu memberi alamat

pada LAN interfaces dan pengalamatanya pada interfaces eth0 secara static.

Kode Program 1 Pengalamatan Interface Pada Node Router

auto lo

iface lo inet loopback

auto eth0

iface eth0 inet static

static ip_address=192.168.0.10/24

static routers=192.168.0.1

static domain_name_servers=192.168.0.1

auto wlan0

iface wlan0 inet dhcp

iface default inet dhcp

Pada Raspberry Pi yang bertindak sebagai node router dikonfigurasi

pengalamatan secara static dengan ip address 192.168.0.10 dan ip router serta

domain name servers 192.168.0.1 dapat dilihat pada kode program 1.

Pengalamatan juga dilakukan pada node client. Pengalamatan pada interface

laptop ini secara static jika terhubung dengan jaringan LAN, yaitu dengan

terkoneksi dengan jaringan LAN sesuai dengan interface LAN pada Raspberry Pi

dan kemudian mengubah alamat pada interface LAN laptop. Pengalamatan

interface pada client dilakukan agar dapat terkoneksi dengan node router. Alamat

yang digunakan adalah sesuai dengan yang sudah dikonfigurasikan pada node

router yaitu dengan ip address 192.168.0.1. Konfigurasi web server digunakan untuk membuat halaman web statis dan

halaman web dinamis yang berguna untuk pengujian web server. Konfigurasi web

server dapat dilakukan dengan mengubah file yang terdapat pada nano

Page 12: Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi . Artikel Ilmiah . Diajukan kepada .

8

/var/www/index.html. Kode Program 2 yaitu membuat halaman web statis dan

Kode Program 3 membuat halaman web dinamis.

Kode Program 2 Kode Halaman Statis

Program 2 merupakan kode program halaman statis yaitu halaman web yang mana

client tidak dapat mengubah konten dari web tersebut. Program 3 merupakan kode

halaman dinamis yaitu halaman web yang mana client dapat mengubah konten

yang ada pada halaman web tersebut.

Beberapa konfigurasi dilakukan untuk membantu proses pengujian.

Konfigurasi pertama untuk halaman web statis dan konfigurasi kedua untuk

halaman web dinamis. Kedua halaman web ini dibutuhkan untuk mengetahui

performance web server.

Tahap terakhir adalah pengujian yang merupakan hal terpenting dalam tahap

penelitian ini, dimana sangat menentukan hasil antara kedua web server. Untuk

software penguji kinerja aplikasi web server penelitian ini menggunakan JMeter

[8] yang dijalankan pada komputer client. Dalam proses pengujian, JMeter akan

membangkitkan sejumlah request simultan ke aplikasi web server untuk

mensimulasikan sejumlah user yang secara bersamaan melakukan request kepada

aplikasi web server melalui web browser mereka. Kode halaman statis yang

dipakai untuk semua pengujian dapat dilihat pada Program 2 sedangkan kode

halaman dinamis yang dipakai dapat dilihat pada Program 3. Seperti terlihat pada

Program 3, halaman-halaman dinamis dibangkitkan dengan memakai PHP yang

juga dijalankan pada Raspberry Pi. PHP yang dipergunakan adalah PHP versi

5.3.2.

Page 13: Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi . Artikel Ilmiah . Diajukan kepada .

9

Kode Program 3 Kode Halaman Dinamis

Untuk menguji kelayakan suatu aplikasi web server maka Raspberry Pi, secara

bergantian, diinstalasi dengan setiap jenis aplikasi web server yang diuji, yaitu:

Nginx, dan Tomcat. Setiap instalasi aplikasi web server memakai konfigurasi

standar bawaannya. Raspberry Pi kemudian dimasukkan ke dalam topologi seperti

pada Gambar 1 dan JMeter dijalankan pada client untuk mengirimkan sejumlah

request ke aplikasi web server. Aplikasi web server dikatakan layak untuk

dijalankan pada Raspberry Pi jika bisa menangani minimum request tanpa

kesalahan (error) dalam maksimum reply time tertentu. Menurut Rahmad [5]

standar minimum request yang harus dipenuhi oleh suatu aplikasi web server

ditetapkan sebesar 100 request simultan. Besaran nilai minimum request ini

ditetapkan dengan pertimbangan sebagai berikut: suatu aplikasi web server

Page 14: Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi . Artikel Ilmiah . Diajukan kepada .

10

minimal harus bisa melayani 15 pemakai secara simultan dan karena rata-rata

setiap web browser hanya diperbolehkan membuka secara bersamaan maksimum

enam koneksi ke satu hostname maka jumlah minimal request simultan (i.e.

request) yang semestinya bisa ditangani oleh suatu aplikasi web server adalah 90

(15 pemakai x 6 koneksi) yang kemudian dibulatkan menjadi 100 request

simultan. Demikian juga dengan reply time, karena tidak ada standar nilai

maksimumnya maka, penelitian ini memakai maksimum response time untuk

situs yang dianjurkan oleh bidang HCI, yaitu satu detik [9].

Untuk menentukan jenis aplikasi web server mana yang paling cocok

dijalankan pada Raspberry Pi maka, secara bergantian, setiap jenis aplikasi web

server diuji kinerjanya dengan mencari nilai maximum request yang bisa

ditanganinya. Waktu reply time diambil saat aplikasi web server menangani

maximum request tersebut. Hasil ini kemudian dibandingkan untuk melihat

aplikasi web server yang mana yang memiliki kinerja terbaik. Dalam pencarian ini

juga, setiap aplikasi web server yang diuji memakai konfigurasi standar

bawaannya.

Proses pencarian nilai maximum request dilakukan melalui pengujian oleh

JMeter yang mengirimkan sejumlah request secara simultan kepada aplikasi web

server yang sedang diuji. Dari balasan aplikasi web server, atas request-request

ini, JMeter mendapatkan parameter-parameter yang dapat dianalisis, seperti:

throughput, reply time, median, min, max dan error-rate dan lain-lain. Jumlah

request simultan yang dibangkitkan oleh JMeter pada penelitian ini dimulai dari

100 request simultan dan meningkat dengan kelipatan 100 request sampai

ditemukannya nilai request simultan yang menimbulkan kesalahan (error-rate > 0).

Nilai request simultan saat pertama sekali terjadi error inilah yang diambil

sebagai nilai maximum request aplikasi web server tersebut. Untuk setiap nilai

request simultan yang diuji, proses pengujiannya diulangi sebanyak 20 kali.

4. Hasil dan Pembahasan

Dari hasil pengujian dapat dilihat apakah Raspberry Pi layak untuk

menjalankan aplikasi web server, baik untuk halaman statis maupun halaman

dinamis, dapat dilihat pada Tabel 1. Dari hasil pengujian ini tampak bahwa untuk

halaman statis semua aplikasi web server yang diuji berhasil melayani 100 request

secara simultan tanpa kesalahan dan dengan reply time sangat layak karena

kesemuanya mampu melayani dibawah 1 detik, tepatnya 0,09 detik untuk Nginx

dan 0,18 detik untuk Tomcat. Hasil ini didapat dari rata-rata reply time yang ada

pada kolom Connect time yang dilakukan oleh masing-masing web server.

Tabel 1 Hasil Pengujian Kelayakan Untuk Menjalankan Aplikasi Pada Web Server

Aplikasi

Halaman Statis Halaman Dinamis

Error Replay Time (ms) Error Replay Time (ms)

Page 15: Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi . Artikel Ilmiah . Diajukan kepada .

11

Web

Server

Request Rate

(%)

AVG

Latency

Rate

(%)

AVG

Latency

Nginx 100 0,00 90,97 22,40 0,00 1249,2 3559,5

Tomcat 100 0,00 95,40 28,55 0,00 1376,5 4154,3

Untuk halaman-halaman dinamis, yang dibangkitkan oleh PHP, kedua

aplikasi web server berhasil melayani 100 request secara simultan tanpa

kesalahan. Khusus untuk Nginx, reply time dalam melayani ke-100 request ini

bisa dikategorikan layak karena mendekati 1 detik, tepatnya: 1,25 detik untuk

Nginx dan 1,43 detik untuk Tomcat.

Hasil pada Tabel 1 menunjukkan bahwa Nginx dan Tomcat layak untuk

dijalankan pada Raspberry Pi baik untuk melayani halaman-halaman statis

maupun halaman-halaman dinamis, walaupun reply time-nya sedikit melebih 1

detik saat menangani halaman-halaman dinamis.

Hasil AVG yaitu average didapatkan dari “average” yang terdapat pada

kolom hasil pada software JMeter yang dirata-rata dalam 20 kali percobaan. Hasil

latency atau jeda waktu yang dibutuh web server untuk reply time didapatkan dari

kolom latency pada hasil pada software JMeter yang dirata-rata dalam 20 kali

percobaan.

Setelah dilakukan perancangan dan konfigurasi pada semua perangkat dalam

jaringan web server, dilakukan pengujian secara real-time yang berkala.

Pengambilan data secara acak sebanyak dua puluh kali pada setiap skenario yang

sudah disesuaikan dan diambil rata-ratanya. Dari hasil pengujian didapatkan hasil

sesuai dengan parameter yang diambil berupa maximum request, connections time,

dan latency. Pengujian kedua digunakan untuk mendapatkan data batas maximum

request yang dapat dilayani oleh satu web server.

Berdasarkan hasil pengujian menggunakan aplikasi JMeter yang dilakukan

secara acak sebanyak 20 kali, didapatkan hasil kinerja web server Nginx mampu

menangani rata-rata 5.300 request dengan replay time rata-rata 1,2detik. Dari

hasil tersebut menjadi pembanding dari web server Tomcat. Hasil maximum

request Nginx didapat dari rata-rata jumlah request simultan yang pertama sekali

menimbulkan kesalahan untuk aplikasi web server Nginx atau dengan kata lain ini

merupakan batas atas request simultan yang bisa dilayani oleh web server Nginx.

Pada pengujian web server Tomcat didapatkan hasil rata-rata tomcat mampu

menangani maximum request sebesar 4800 request pada halaman web statis dan

2800 request pada halaman web dinamis. Hal ini menunjukan bahwa

perbandingan yang tipis jika dibandingkan dengan web server Nginx. Hasil

maximum request Tomcat didapat dari rata-rata jumlah request simultan yang

pertama sekali menimbulkan kesalahan untuk aplikasi web server Tomcat atau

dengan kata lain ini merupakan batas atas request simultan yang bisa dilayani oleh

web server Tomcat.

Tabel 2 Hasil Pencarian Maximum Request Dan Reply Time Aplikasi Web Server

Page 16: Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi . Artikel Ilmiah . Diajukan kepada .

12

Aplikasi

Web

Server

Halaman Statis Halaman Dinamis

Max Error Reply Time(ms) Max Error Reply Time(ms)

Request Rate

(%)

Rata-

rata

Latency Request Rate

(%)

Rata-

rata

Latency

Nginx 5300 0,01 1255,3 80,20 3000 0,01 1023,8 560,5

Tomcat 4800 0,01 1622,7 93,10 2800 0,01 1280,2 612,2

Tabel 2 menunjukkan jumlah request simultan yang pertama sekali

menimbulkan kesalahan untuk masing-masing aplikasi web server atau dengan

kata lain ini merupakan batas atas request simultan yang bisa dilayani oleh tiap-

tiap aplikasi web server; yang juga disebut dengan istilah maximum request.

Untuk halaman-halaman statis Nginx menduduki urutan pertama dengan

maximum request sebesar 5.300 dan dapat melayani request-request tersebut (i.e.

reply time) rata-rata dalam 1,26 detik. Tomcat sebagai urutan kedua dengan

maximum request 4800 dengan waktu rata-rata 2,75 detik.

Untuk halaman-halaman dinamis Nginx tetap memberikan maximum request

terbesar yaitu 3.000 dengan reply time 1,07 detik. Tomcat menduduki urutan

kedua dengan maximum request sebesar 2800 tetapi dengan reply time yang

sangat besar yaitu 4,70 detik.

Hasil pada Tabel 2 menunjukkan bahwa Nginx merupakan aplikasi web server

yang memiliki kinerja terbaik untuk dijalankan pada Raspberry Pi, baik untuk

melayani halaman-halaman statis maupun untuk melayani halaman-halaman

dinamis. Disamping mampu melayani request simultan terbanyak, 5.300 untuk

halaman statis dan 3.000 untuk halaman dinamis, reply time rata-rata Nginx dalam

melayani kesemua request tersebut bisa dikatakan layak karena masih medekati 1

detik, yaitu: 1,26 detik untuk halaman-halaman statis dan 1,07 detik untuk

halaman-halaman dinamis.

Perbedaan kinerja web server yang dapat dilihat dari nilai maximum request

untuk halaman-halaman dinamis 56,60% lebih kecil dari maximum request untuk

halaman-halaman statis, 3.000 dibanding 5.300. Ini diperkirakan karena untuk

halaman-halaman dinamis Raspberry Pi harus menjalankan dua aplikasi sekaligus,

yaitu Nginx dan PHP, sehingga mengurangi kinerja dari prosesornya yang dalam

hal ini hampir setengahnya.

5. Simpulan dan Saran

Berdasarkan hasil analisis, perancangan dan pengujian kinerja web server

Nginx dan Tomcat pada Raspberry Pi, yang telah dijelaskan pada bab sebelumnya,

maka dapat diambil kesimpulan pada implementasi ini Nginx dan Tomcat dapat

menangani 100 request secara simultan baik halaman web statis maupun halaman

web dinamis dengan kurun waktu kurang dari 1 detik. Nginx lebih baik dari web

Page 17: Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada ... · Perbandingan Kinerja Web Server Nginx dengan Tomcat Pada Platform Raspberry Pi . Artikel Ilmiah . Diajukan kepada .

13

server tomcat karena mampu menangani request lebih baik yaitu 5300 request

simultan di halaman web statis dan 3000 request simultan di halaman web

dinamis.

Saran untuk pengembangan lebih lanjut yaitu halaman-halaman dinamis

dalam pengujian yang dilakukan dibangkitkan oleh aplikasi PHP tetapi PHP

belum tentu aplikasi pembangkit halaman-halaman dinamis yang paling tepat

untuk dijalankan pada Raspberry Pi sehingga perlu dilakukan penelitian lanjutan

untuk membandingkannya dengan aplikasi sejenis lainnya, seperti: Node.js, Ruby

on Rail, dan Flask.

6. Daftar Pustaka

[1]E. Upton and G. Halfacree, 2012, Raspberry Pi User Guide, West Sussex,

England: Wiley.

[2]Open Source Hardware Association, 2011, “Open-Source Hardware:

Definition,”, http://www.oshwa.org/definition/. Diakses pada 8 Oktober 2016

[3]B. Laurie and P. Laurie, 2002, Apache: The Definitive Guide, O’Reilly Media.

[4]W3Techs, 2012, Web Technology Market Report: Usage of web servers for

websites, http://w3techs.com/technologies/overview/web_server/all. Diakses 8

Oktober 2016.

[5]Rahmad D., 2014, Kelayakan Raspberry Pi sebagai Web Server:

Perbandingan Kinerja Nginx, Apache, dan Lighttpd pada Platform Raspberry

Pi, Banda Aceh: Universitas Syiah Kuala. Jurnal Rekayasa Elektrika Vol. 11,

No.1, hal. 25-29.

[6]Prabowo, Ignatius, dkk., 2014, Penggunaan Raspberry Pi Sebagai Web

Server Pada Rumah Untuk Sistem Pengendali Lampu Jarak Jauh Dan

Pemantauan Suhu, Salatiga: Universitas Kristen Satya Wacana. Techné Jurnal

Ilmiah Elektroteknika Vol.13, No.1, Hal 111 – 124

[7]Faizal, Nizbah, 2013, Sekilas Tentang Nginx,

http://faizalnizbah.blogspot.co.id/2013/03/sekilas-tentang-nginx.html. Diakses

pada 14 Oktober 2016.

[8]The Apache Software Foundation, 2010, Apache Jmeter, The Apache Software

Foundation.

[9]J. Nielsen, 2008, Website Response times, http://www.browserscope.org.

Diakses pada 14 Oktober 2016.