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??
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/