View
12
Download
0
Category
Preview:
Citation preview
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
2
3
4
5
2
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
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
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).
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
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
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.
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
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)
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
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
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.
Recommended