Nginx: Kelebihan Dibanding Apache?
February 15th, 2012, Written by: | Categories: Internet, Opinion

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.

Nginx

Gunakan Nginx atau kau akan tenggelam!

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?

More about:

15 Responses to “Nginx: Kelebihan Dibanding Apache?”

  1. Hendy Prima

    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

    Reply
  2. siprof

    menarik… menarik… btw bagaimana dengan litespeed gan? ane lagi cari informasinya nih nginx vs litespeed

    Reply
    • Garry

      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..

      Reply
  3. Rudy

    Saya tertarik cara menjelaskan analogi restorant, artikel yang sangat berguna.

    Reply
  4. Berita Musik Terbaru

    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 !

    Reply
  5. Yudha

    nice info gan, analoginya g bikin makin pusing, kbtlan ane juga lagi belajar mulai belajar web server nih.
    Keep it up bro :D sukses selalu

    Reply
  6. setyo

    mas, klo di vps kita sudah ada apache, apakah harus diuninstal dan diganti dengan Nginx? atau bisa dipasang 2?

    Reply
    • Garry

      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…

      Reply
  7. novia

    terima kasih penjelasannya mas, ringkas, analoginya juga bagus jadi mudah dipahami.

    Reply
  8. KangDimas

    Kalau saya pakai apache mas :D
    Tahan lama juga padahal traffik lumayan gede + masih shared hosting .
    Cuman konten statisnya banyak yg saya cache ….

    Reply

Leave a Reply