Nginx VS Apache

Apa itu sih Nginx maupun Apache???

Nginx yang dibaca “engine x” maupun Apache merupakan web server yang sekarang ini banyak digunakan untuk memenuhi layanan internet.
dan apakah itu web server??

Web Server merupakan salah satu layanan Internet yang mampu melayani koneksi transfer data dalam protocol HTTP ( Hypertext Transfer Protocol ). Web server saat ini merupakan inti dari server – server di internet selain FTP, Mail Server dan lainnya. Web Server saat ini telah dirancang untuk dapat melayani beragam jenis data, mulai dari Teks, Gambar, Suara, Video dan lain sebagainya. Web Server pada umumnya melayani data dalam bentuk HTML ( Hypertext Markup Language ). Dari file HTML ini kemudian dapat dikaitkan ke file HTML lainnya, ke file gambar dan file yang lainnya.
Sebenarnya, tanpa menggunakan Web server pun kita sudah dapat menjalankan file HTML, hanya saja file HTML tersebut hanya dapat di lihat di komputer kita sendiri. Maka dari itu kita membutuhkan suatu Aplikasi Server yang dapat membagikan atau mempublikasikan file – file HTML ( Web ) kita agar komputer lain dapat melihat file HTML ( Web ) kita. Tapi itu semuanya masih merupakan Aplikasi Web Statis, artinya informasi yang berada di Web kita hanya bersifat statis alias tidak dapat berubah – ubah dan tidak dapat berinteraksi dengan user yang membuka Web kita. Untuk itu di Aplikasi Server kita harus di Install juga Aplikasi Server Side dan juga Database Server. Dengan adanya Web Server yang sudah lengkap dengan Aplikasi Server side serta Database server, Aplikasi Web kita akan dapat berinteraksi dengan pengunjung sehingga Aplikasi Web kita akan terkesan lebih Dinamis.

Terdapat beberapa aplikasi Web Server yang semuanya mempunyao kelebihan dan kekurangan masing-masing. Berikut ini merupakan aplikasi-aplikasi web server :
1.    Apache Web Server – The HTTP Web Server
2.    Apache Tomcat
3.    Microsoft windows Server 2003 Internet Information Services (IIS)
4.    Lighttpd
5.    Nginx
6.    Jigsaw
7.    Sun Java System Web Server
8.    Xitami Web Server
9.    Zeus Web Server


Dan dari beberapa jenis web server di atas yang akan saya uraikan kelebihan dan kekuranganya adalah web server Apache dan Nginx saja, untuk yang lainya bisa di googling sendiri,..

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.

refrensi; http://www.computesta.com/blog/


EmoticonEmoticon