Nginx, yang dibaca “engine x” memiliki keistimewaan tersendiri dibandingkan Apache. Chris Lea ketika di WordCamp SF 2008 pernah menganalogikan, Apache itu bagaikan Microsoft Word, memiliki jutaan fungsi tetapi Anda hanya butuh 6. Nginx melakukan 6 hal itu, dan dia melakukannya 50 kali lebih cepat daripada Apache.”
Nginx biasanya dikenal sebagai Web server yang gesit dan efisien dalam menampilkan konten statik. Nginx diklaim minim dalam penggunaan memori dan sangat direkomendasikan untuk website-website yang berjalan di atas VPS. Untuk mengenal lebih dekat, marilah kita telaah bersama-sama alasan nginx bisa berlari lebih kencang.
Arsitektur
Pertama kita harus tahu perbedaan arsitektur antara dua Web server ini. Apache merupakan process-based sedangkan Nginx merupakan event-based. Mungkin pertanyaan Anda berikutnya adalah “Lalu memangnya kenapa kalau arsitektur Nginx event-based?” Dikarenakan event-based mampu memanfaatkan seminimal mungkin thread untuk memproses request dari user, sehingga memori yang terpakai di Nginx menjadi minimal. Karena memori yang dipakai sangat kecil, hasilnya server menjadi ringan dan jauh lebih responsif.
Penulis tahu penjelasan tadi tidak banyak membantu. Oleh karena itu, mari kita mengambil sebuah analogi. Analogi ini terinspirasi dari Web daverecycles.com. Anggap Web Server adalah sebuah restoran yang menerima orderan lewat telepon. Ketika user mengakses halaman Web, maka analoginya adalah seseorang menelepon ke restoran untuk memesan makanan.
Ceritanya terdapat dua buah restoran terkenal yaitu restoran Apache dan restoran Nginx. Di restoran Apache ketika seseorang menelepon untuk memesan makanan, maka operator akan mengangkat telepon, mencatat pesanan dan menunggu makanan siap sambil terus mengangkat telepon. Ketika makanan siap baru memberitahukan ke pelanggan dan menutup telepon. Kalau ada orang lain yang menelepon, maka diperlukan operator lain yang mengangkat. Jadi kalau dalam satu waktu ada 10 orang yang menelepon, maka diperlukan 10 operator untuk melayani.
Berbeda dengan restoran Nginx. Di restoran ini, sang operator lebih terlatih dan terdidik. Ketika seseorang memesan makanan, sang operator akan mencatatnya, lalu menutup telepon. Setelah makanan sudah siap, baru menelepon kembali ke pelanggan. Jadi sang operator bisa melayani beberapa pesanan sekaligus.
Pada cerita di atas, operator telepon merupakan analogi dari “thread”. Thread-lah yang biasanya menghabiskan memori. Jadi semakin banyak thread yang terpakai, semakin banyak memori yang terkuras. Itu sebabnya Apache tidak akan mengalami masalah selama hanya sedikit orang yang mengaksesnya. Tetapi baru akan menjadi berat dan lambat kalau sudah banyak orang mengaksesnys sekaligus.
Kira-kira sampai sejauh manakah kemampuan Nginx menghemat memori dibandingkan dengan Apache? Bob Ippolito memiliki pengalaman. Dia memiliki sebuah server untuk menangani sepuluh juta request per hari, yang berarti beberapa ratus request per detik. Ketika menggunakan Nginx (setelah berbagai konfigurasi dan tweak), puncak tertinggi penggunaan memori hanya 15MB dan 10% CPU. Dengan beban yang sama, dijalankan pada Apache ternyata Apache gagal akibat menjalankan terlalu banyak thread. Jumlah memori yang terpakai juga adalah 400MB untuk semua stack thread. Dan bahkan terjadi memory leak sekitar 20MB setiap jamnya.
Tetapi kalau menyangkut masalah popularitas dan jumlah pengguna, maka Nginx memang belum bisa menandingi Apache. Jumlah hosting di Indonesia yang menyediakan server Nginx sendiri tidak terlalu banyak. Lagipula Apache begitu mendominasi di dunia Internet. Pada tahun 2009 saja, Apache sudah menembus 100 juta website. Dan per bulan Januari 2012, 58% dari selurh website di dunia menggunakan Apache.
Walau posisi Apache sulit tergeser, ternyata Nginx juga tidak berpangku tangan. Jumlah Web yang menggunakan Nginx pada awal tahun 2011 adalah 15 juta, dan per bulan November 2011 sudah mencapai 43 juta. Itu artinya peningkatan 300%! Itu membuktikan Nginx mulai cukup populer.
Apakah Anda termasuk salah satu pengguna setia Nginx?
mantapppp artikelnya mas
Sep. Terima kasih telah berkunjung ke blog kami
pengalaman pake nginx untuk webserver, 1 situs dengan trafik kecil dibandingkan dengan yang memakai apache, ternyata masih lebih apache. Untuk situs skala menengah kebawah sepertinya apache masih jadi pilihan.
sya make NGINX hahahah sip sip , jadi tau
Tulisan yang sangat bermanfaat
jadi pengen coba ngink juga
tapi sayang pengunjung super sepi jd masih bertahan di apache
Izin ninggalin jejag blog : http://hendrygeorge.com
Makasih
terima kasih mas, penjelasan analogi antara nginx dan apache sangat mudah di pahami ketika anda menjelaskan analogi pelayanan restoran, di tunggu artikel menarik lain nya
menarik… menarik… btw bagaimana dengan litespeed gan? ane lagi cari informasinya nih nginx vs litespeed
Terima kasih sudah berkunjung ke blog kami. Litespeed, kebetulan penulis masi kurang paham. Tetapi ini merupakan topik yang menarik. Akan coba kami riset dan post hasilnya di blog ini..
Saya tertarik cara menjelaskan analogi restorant, artikel yang sangat berguna.
litespeed lebih cepet dari nginx, dan nginx lebih cepat dari apache. Begitu ketika saya gugling, apakah benar begitu gan? ane lagi belajar tentang server gan hehe, terima kasih buat analogi dan penjelasannya yg simpel dan worth it gan !
nice info gan, analoginya g bikin makin pusing, kbtlan ane juga lagi belajar mulai belajar web server nih.
Keep it up bro sukses selalu
mas, klo di vps kita sudah ada apache, apakah harus diuninstal dan diganti dengan Nginx? atau bisa dipasang 2?
Sejauh yang saya tahu bisa diinstal dua-duanya. Tetapi salah satu harus merelakan port 80. Dalam artian salah satu service harus pakai port yang lain…
terima kasih penjelasannya mas, ringkas, analoginya juga bagus jadi mudah dipahami.
alhamdulillah webhosting anne pake NGINX, setelah ngeliat article ini jadi ga kecewa
Kalau saya pakai apache mas
Tahan lama juga padahal traffik lumayan gede + masih shared hosting .
Cuman konten statisnya banyak yg saya cache ….
Hello, of course this piece of writing is really fastidious and I have learned
lot of things from it concerning blogging. thanks.
[…] lalu berapa perbandingan memori penggunaan keduanya ? menurut pengalaman bob 15mb banding 400mb lebih lengkap […]
kalau perbandingan nginx dan litespeed bagusan mana???
Kalau dari pengamatan saya yang pemula ini, apache makan banyak ram terutama kalau banyak yg online dalam waktu bersamaan & cenderung turun performanya, tapi kalau pengunjung sedikit memang kerasa cepat
kalau nginx cenderung stabil walau banyak pengunjung tapi lumayan ribet settingnya & kalau ga optimal malah ngabisin cpu jadi buat pemula kaya sy harus banyak nyoba2 sampe nemuin yg pas
Artikelnya bagus banget, gampang orang mencerna dan menjelaskan kembali… terima kasih.
Mantap penjelasannya masbro, btw saya mau tanya dikit nih. Mengutip: “Nginx biasanya dikenal sebagai Web server yang gesit dan efisien dalam menampilkan konten statik.”
Yang masbro maksud dgn konten statik itu spt apa ya?
Apa ini berarti nginx kurang gesit dlm menampilkan konten dinamis?
kalau yg masih pakai shared hosting , cara menegetahui kita sudah support nginx gimana pak? sekarang saya pakai hosting litespeed tp banyak masalah sama command di htaccess nya ..banyak yg ga jalan
Thanks buat artikelnya gan..tapi kebanyakan orang lebih prefer pake nginx ya..
Makasih atas penjelasannya mas, saya juga lebih pilih menggunakan nginx daripada apache