Perbandingan Performa Reverse Proxy Caching Nginx Dan Varnish Pada Web Server Apache
Total Page:16
File Type:pdf, Size:1020Kb
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer e-ISSN: 2548-964X Vol. 2, No. 4, April 2018, hlm. 1457-1463 http://j-ptiik.ub.ac.id Perbandingan Performa Reverse Proxy Caching Nginx dan Varnish Pada Web Server Apache Muhammad Luthfi1, Mahendra Data2, Widhi Yahya3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: [email protected], [email protected], [email protected] Abstrak Web server sudah menjadi bagian yang penting bagi perusahaan, baik perusahaan yang sedang berkembang maupun yang baru memulai layanannya. Apache adalah aplikasi web server dengan penerimaan terbanyak di dunia. Akan tetapi Apache memiliki beberapa kekurangan salah satunya adalah Apache menjadi lamban pada saat permintaan yang masuk berjumlah besar. Salah satu cara untuk melakukan peningkatan performa web server Apache adalah dengan reverse proxy caching. Dari sekian banyak reverse proxy caching, Nginx dan Varnish memiliki reputasi tertinggi. Untuk mengetahui manajemen sumberdaya dan kualitas layanan revese proxy caching Nginx dan Varnish pada web server Apache akan diuji dengan mengirimkan sejumlah request ke web server. Hasilnya, kedua server dengan reverse proxy caching dapat mengungguli web server Apache tanpa reverse proxy caching pada penggunaan CPU dan latensi pada 3 pengujian pertama, sedangkan pada pengujian dengan beban berat server Apache tanpa reverse proxy caching memberikan latesi yang lebih kecil dibandingkan dengan server Apache tanpa revese proxy caching. Hasil perbandingkan antara reverse proxy caching Varnish dan Nginx yang dipasangkan pada web server Apache, memberikan hasil server Apache dengan reverse proxy caching Varnish memiliki performa yang lebih baik dibandingkan dengan server Apache dengan reverse proxy caching Nginx. Kata kunci: web server, apache, nginx, varnish, reverse proxy caching Abstract Web servers are now an essential part of both developing and newly started companies. Apache is the web application server with the most revenue in the world. Apache, however, has some drawbacks, one of which is that Apache is become slower when serving many requests continuously. One way to improve the performance of Apache web servers is by reverse proxy cahing. Of the many reverese proxy caching, Nginx and Varnish have the highest reputation. To find out the resource management and quality of service revese proxy caching Nginx and Varnish on the Apache web server will be tested by sending a number of requests to the web server. As a result, both servers with reverse proxy caching can outperform the Apache web server without reverse proxy caching on CPU usage and latency in the first 3 tests, whereas on Apache server load testing without reverse proxy caching it provides smaller latecy than Apache servers without revese Proxy cacahing. The comparison between Varnish reverse proxy caching and Nginx paired on the Apache web server, giving the Apache server results with reverse proxy caching Varnish performs better than the Apache server with Nginx reverse proxy caching. Keywords: web server, apache, nginx, varnish, reverse proxy caching al., 1999), termasuk bagi perusahaan yang ingin 1. PENDAHULUAN memulai layanan mereka, atau biasa disebut Seiring dengan berkembangnya teknologi startup. Hal ini dikarenakan kinerja dari sebuah informasi, jumlah situs yang meyajikan layanan web server yang bagus sangat berpengaruh web bagi pengguna Internet juga semakin dalam kualitas layanan yang diberikan. Kualitas bertambah. Jumlah situs yang terus meningkat web server dapat dikatakan baik apabila mampu mengakibatkan semakin banyak perusahaan dan melayani setiap permintaan (request) dari organisasi yang bergantung pada kinerja web pengguna secara cepat dan kecil server untuk kesuksesan bisnis mereka (Hu, et kemungkinannya dalam melakukan kesalahan Fakultas Ilmu Komputer Universitas Brawijaya 1457 Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1458 (Kurniawan & Widiyanto, 2016). terhadap web server dari sisi client. Sedangkan, Saat ini, sudah banyak perusahaan yang penggunaan memori dan CPU merupakan faktor menyediakan layanan web server. Dari sekian penting dalam menentukan dampaknya pada banyaknya penyedia layanan web server, sumberdaya server antar aplikasi berdasarkan survei yang diadakan oleh Netcraft Berdasarkan banyak pertimbangan yang pada Desember 2016, diketahui bahwa Apache telah dijelaskan, maka peneliti mengusung merupakan web server yang paling banyak sebuah penelitian yang berjudul “Perbandingan digunakan (Netcraft, 2017). Apache juga Performa Reverse Proxy Caching Nginx Dan merupakan web server yang memiliki performa Varnish Pada Web Server Apache”. Penelitian yang tinggi dan lebih unggul dibandingkan ini diharapkan dapat mengetahui perbandingan dengan berbagai web server berbasis UNIX kinerja dari penggunaan reverse proxy caching lainnya baik dari segi fungsionalitas, efisiensi, Nginx dan Varnish pada web server Apache. dan kecepatan (Hu, et al., 1999). Salah satu cara dalam meningkatkan 2. LANDASAN TEORI performa web server adalah dengan reverse proxy caching. Reverse proxy caching bertindak 2.1. Apache Web Server sebagai perantara antara aplikasi web dan client Web server merupakan entitas atau (Dély, 2014). Cara kerjanya adalah dengan perangkat lunak pada suatu jaringan yang menyimpan konten dari aplikasi dan meneruskan berfungsi untuk menyediakan objek dari suatu aplikasi tersebut ke pengguna. Apabila website kepada client. Secara ringkas, fungsi pengguna membutuhnya kembali maka konten utama dari web server ialah sebagai tempat yang disimpan pada server caching tidak akan aplikasi web dan sebagai penerima request dari diminta kembali ke web server. Hal ini untuk client (Warman & Zahni, 2013). menghindari web server harus memproduksi Apache merupakan sebuah web server konten baru terus-menerus pada setiap berbasis UNIX yang dapat digunakan secara permintaan (Dély, 2014). bebas. Apache mendukung berbagai macam fitur Dalam menjalankan fungsinya, terdapat dan banyak diimplementasikan sebagai modul beberapa reverse proxy caching seperti Nginx, yang dapat diintegrasikan dengan aplikasi aiCatch, Lighttpd, Varnish, Squid, dan lainnya untuk meningkatkan fungsionalitas inti sebagainya. Di antara banyaknya reverse proxy aplikasi tersebut (Dedoimedo, 2011). caching yang tersedia, penggunaan Varnish dan Nginx masih menjadi yang paling banyak 2.2. Reverse Proxy Caching digunakan. Hal ini terbukti dengan digunakannya Varnish di beberapa situs terkenal Reverse proxy caching merupakan suatu di dunia seperti Facebook, Wikia dan Slashdot ( perantara antara aplikasi web dengan client Poul & Kamp, 2010). Varnish sendiri (Dély, 2014). Reverse proxy caching seringkali mengalahkan performa dari Squid pada disebut juga dengan web server acceleration. perusahaan koran Norwegia yang akhirnya Hal ini dikarenakan tujuan dari penggunaan mengganti 12 mesin yang menjalankan Squid reverse proxy caching adalah untuk mengurangi dengan hanya 3 mesin yang dijalankan dengan beban pada web server, baik yang menyediakan Varnish. Sedangkan, performa dari Nginx pernah konten statis maupun dinamis (Visolve Squid di teliti oleh (Chi, dkk., 2012) dimana hasil Team, 2006). pengujiannya menunjukan hasil yang baik dan Reverse proxy caching diletakkan lebih efektif untuk penggunaan web server yang dekat kepada web server daripada client (Nanda, tinggi. 2015). Cara utama yang digunakan untuk meringankan beban web server yaitu dengan Penelitian ini bertujuan untuk memberikan menggunakan cache antara server dan internet dasar yang kuat dalam pemilihan reverse proxy (Visolve Squid Team, 2006). caching dengan membandingkan kinerja dari reverse proxy caching Nginx dan Varnish. 2.3. Nginx Performa dari keduanya akan dievaluasi dengan waktu respon yang diperlukan dalam memproses Nginx merupakan sebuah perangkat lunak permintaan. Penggunaan CPU dan memori juga open source yang berfungsi sebagai web server akan diperhatikan dalam melakukan evaluasi. (Aivaliotis, 2013). Nginx menggunakan Waktu respon diuji untuk melakukan evaluasi arsitektur asinkron yang berbasis event-driven Fakultas Ilmu Komputer, Universitas Brawijaya Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1459 dalam menangani permintaan (request) (NGINX Software, 2017). Selain untuk web server, Nginx Studi Literatur juga dapat digunakan untuk reverse proxy caching, load balancing, media streaming, dan lain sebagainya. Nginx terkenal dapat Analisis Kebutuhan menangani koneksi yang bervolume tinggi. Karenanya, Nginx umumnya digunakan sebagai reverse proxy caching (NGINX Software, 2017). Perancangan Lingkungan Pengujian Pada saat client melakukan request, Nginx akan menerima request tersebut dan membuat sebuah kunci hash untuk kemudian disimpan ke Implementasi Lingkungan Pengujian dalam memori. Kemudian, Nginx akan mengecek apakah kunci hash yang dihasilkan terdapat dalam memori. Apabila tersedia, Nginx Pengujian dan Analisis akan melayani request dengan mengambil file cache dari file sistem dan akan langsung diberikan kepada client tanpa perlu melibatkan Kesimpulan web server. Jika kunci hash tidak tersedia dalam memori, reqeust akan diteruskan ke web server. Gambar 1 Alur Metodologi Penelitian Web server akan menanggapi request tersebut Proxy memerlukan web server untuk bertindak dan akan disimpan dalam file sistem untuk sebagai back-end dimana konten asli berasal dan kemudian diteruskan ke client (Czeraszkiewicz, menimum satu client untuk mengirimkan 2015). sejumlah permintaan. Desain sistem secara keseluruhan terdiri dari client, server,