Perbandingan Web Server

18
Tugas Kelompok Rekayasa Perangkat Lunak Perbandingan Web Server Dosen: Dr. Dwi Handoko Kelompok 1 Indra Permana 1111 600 027 Mardiyanto Nugroho 1111 600 043 Rifka Hijjah Aryani 1111 600 050 Amiga Utomo 1111 600 068 Edi Purwito Aji 1111 600 076 Asep Wahyudi Zein 1111 600 084 Dian Parikesit 1111 600 092 Hasto Gesang 1111 600 100 Ahmad Syaukani 1111 600 118 F.X. Eko Budi K 1111 600 126

Transcript of Perbandingan Web Server

Page 1: Perbandingan Web Server

Tugas Kelompok Rekayasa Perangkat Lunak

Perbandingan Web Server

Dosen: Dr. Dwi Handoko

Kelompok 1

Indra Permana 1111 600 027Mardiyanto Nugroho 1111 600 043Rifka Hijjah Aryani 1111 600 050Amiga Utomo 1111 600 068Edi Purwito Aji 1111 600 076Asep Wahyudi Zein 1111 600 084Dian Parikesit 1111 600 092Hasto Gesang 1111 600 100Ahmad Syaukani 1111 600 118F.X. Eko Budi K 1111 600 126

Page 2: Perbandingan Web Server

PERBANDINGAN WEB SERVER

ContentsPengantar Web Server................................................................................................................................1

Pengertian Web Server............................................................................................................................1

Cara Kerja Web Server:............................................................................................................................1

Deskripsi dan Karakteristik Web Server.......................................................................................................2

1. Web Server Apache.........................................................................................................................2

2. Web Server IIS.................................................................................................................................3

3. Web Server Nginx............................................................................................................................4

4. Web Server Apache Tomcat............................................................................................................5

5. Web Server Lighttpd........................................................................................................................6

Tabel Perbandingan Software Web Server..................................................................................................7

Kelebihan dan Kekurangan Web Server......................................................................................................7

Perbandingan kinerja Web Server...............................................................................................................9

Kesimpulan................................................................................................................................................11

Referensi...................................................................................................................................................12

Pengantar Web Server

Pengertian Web Server

Web server merupakan software yang memberikan layanan data yang berfungsi menerima permintaan HTTP atau HTTPS dari klien yang dikenal dengan browser web dan mengirimkan kembali hasilnya dalam bentuk halaman-halaman web yang umumnya berbentuk dokumen HTML.

Cara Kerja Web Server:

1. Cara kerja Web Server. Web server merupakan mesin dimana tempat aplikasi atau software beroperasi dalam mendistribusikan web page ke user, tentu saja sesuai dengan permintaan user.

2. Hubungan antara Web Server dan Browser Internet merupakan gabungan atau jaringan Komputer yg ada di seluruh dunia. Setelah terhubung secara fisik, Protocol TCP/IP (networking protocol) yg memungkinkan semua komputer dapat berkomunikasi satu dengan yg lainnya. Pada saat browser meminta data web page ke server maka instruksi permintaan data oleh browser tersebut di kemas di dalam TCP yg merupakan protocol transport dan dikirim ke alamat yg dalam hal ini merupakan protocol berikutnya yaitu Hyper Text Transfer Protocol (HTTP). HTTP ini merupakan protocol yg digunakan dalam World Wide Web (WWW) antar komputer yg terhubung dalam jaringan di dunia

1

Page 3: Perbandingan Web Server

ini. Untuk mengenal protocol ini jelas sangat mudah sekali dimana setiap kali anda mengetik http://… anda telah menggunakannya, dan membawa anda ke dunia internet. Data yg dipassing dari browser ke Web server disebut sebagai HTTP request yg meminta web page dan kemudian web server akan mencari data HTML yg ada dan di kemas dalam TCP protocol dan di kirim kembali ke browser. Data yg dikirim dari server ke browser disebut sebagai HTTP response. Jika data yg diminta oleh browser tidak ditemukan oleh si Web server maka akan meninbulkan error yg sering anda lihat di web page yaitu Error : 404 Page Not Found. Hal ini memberikan cita rasa dari suatu proses yang tridimensional, artinya pengguna internet dapat membaca dari satu dokumen ke dokumen yang lain hanya dengan mengklik beberapa bagian dari halaman-halaman dokumen (web) itu. Proses yang dimulai dari permintaan webclient (browser), diterima web server, diproses, dan dikembalikan hasil prosesnya oleh web server ke web client lagi dilakukan secara transparan. Setiap orang dapat dengan mudah mengetahui apa yang terjadi pada tiap-tiap proses. Secara garis besarnya web server hanya memproses semua masukan yang diperolehnya dari web clientnya.

Deskripsi dan Karakteristik Web ServerAda banyak sekali Web Server, namun kami memilih 5 Web Server berikut, berdasarkan banyaknya pengguna dari survey di internet.

1. Apache2. Internet Information Services (IIS)3. Nginx4. Apache Tomcat5. Lighttpd

Namun web server yang terkenal dan yang sering digunakan adalah Apache dan Microsoft Internet Information Service (IIS).

1. Web Server Apache

Apache adalah nama web server yang dibuat berbasiskan kode sumber dan ide-ide yang ada pada web server leluhurnya, yaitu web server NCSA. Sesuai namanya, web server NCSA dibuat oleh National Center for Supercomputing Applications. Tidak seperti proyek leluhurnya yang dibiayai oleh pemerintah Amerika, web server Apache dikembangkan oleh sekelompok programer yang bekerja tanpa dibayar oleh siapapun.

Apache adalah web server yang kompak, modular, mengikuti standar protokol HTTP, dan tentu saja sangat digemari. Apache merupakan web server yang paling banyak dipergunakan di Internet. Program ini pertama kali didesain untuk sistem operasi lingkungan UNIX. Namun demikian, pada beberapa versi berikutnya Apache mengeluarkan programnya yang dapat dijalankan di Windows NT. Apache mempunyai program pendukung yang cukup banyak.

Fitur Apache:1. Arsitektur modular.2. Mendukung banyak sistem operasi, termasuk di dalamnya adalah Windows NT/2000/XP

dan berbagai varian Unix.3. Mendukung IP versi 6 (IPv6).4. Mendukung CGI (Common Gateway Interface) dan SSI (Server Side Include).5. Mendukung otentifikasi dan kontrol akses.

2

Page 4: Perbandingan Web Server

6. Mendukung SSL (Secure Socket Layer) untuk komunikasi terenkripsi.7. Konfigurasi yang mudah dipahami.8. Mendukung Virtual Host.9. Pesan kesalahan multi bahasa dan bisa dimodifikasi.

Beberapa dukungan Apache:

1. Kontrol Akses. Kontrol ini dapat dijalankan berdasarkan nama host atau nomor IP.2. CGI (Common Gateway Interface). Yang paling terkenal untuk digunakan adalah perl

(Practical Extraction and Report Language), didukung oleh Apache dengan menempatkannya sebagai modul (mod_perl)

3. PHP (Personal Home Page/PHP Hypertext Processor). Program dengan metode semacam CGI, yang memproses teks dan bekerja di server. Apache mendukung PHP dengan menempatkannya sebagai salah satu modulnya (mod_php). Hal ini membuat kinerja PHP menjadi lebih baik

4. SSI (Server Side Includes)

2. Web Server IIS

Internet Information Service (IIS) adalah komponen yang dapat digunakan untuk mengelola web, File Transfer Protocol (FTP), Ghoper, dan NNTP. Komponen IIS terdapat pada sistem operasi Windows NT, Windows 2000, Windows XP, 7 dan Windows Server 2003.

Pada Windows 98, supaya dapat mengelola Web diperlukan komponen Personal Web Server (PWS) walaupun tidak terdapat fasilitas untuk FTP. PWS juga merupakan bagian dari IIS.  Komponen PWS terdapat pada CD master Windows 98 dan terletak pada direktori \add-ons\pws. Instalasi PWS dapat dilakukan dari <Drive CD ROOM>:\ADD-ONS|PWS|SETUP.

Komponen pendukung IIS antara lain :

1. Protocol jaringan TCP/IP. 2. Domain Name System (DNS). 3. Direkomendasikan untuk menggunakan format NTFS demi keamanan. 4. Software untuk membuat situs web, salah satunya Microsoft FrontPage.

Pada pembahasan Internet Information Service ini, yang banyak dibahas adalah Internet Information Service yang terdapat pada Windows 2000 Server dan hanya terbatas pada Files Transfer Protocol (FTP) dan web saja.

Fitur-Fitur IIS  :1. IIS dapat digunakan sebagai platform dimana aplikasi web berjalan. Hal itu dapat dilakukan

menggunakan ASP, ASP.NET, ISAPI,CGI, Microsoft .Net Framework, VBScript, Jscript dan PHP.

2. IIS mendukung protocol HTTP, FTP, SMTP, NNTP dan SSL3. IIS mengizinkan aplikasi web untuk dijalankan sebagai proses yang terisolasi dalam ruangan

memori terpisah untuk mencegah satu aplikasi membuat crash aplikasi lain.

3

Page 5: Perbandingan Web Server

4. IIS dapat diatur dengan Microsoft Management Console atau menggunakan skrip Windows Scripting Host.

5. IIS mendukung bandwidth throttling yang dapat mencegah sebuah situs web memonopoli bandwidth yang tersedia.

6. IIS memiliki fitur URL Filtering untuk mem-filter  website yang tidak diinginkan

3. Web Server Nginx

Nginx dengan cepat memberikan konten statis dengan penggunaan efisien sumber daya sistem. Hal ini dapat menyebarkan dinamis HTTP konten di jaringan menggunakan FastCGI handler untuk script, dan dapat berfungsi sebagai perangkat lunak yang sangat mampu penyeimbang beban.

Nginx dibangun secara modular dan dengan demikian mampu mendukung berbagai fitur seperti Load Balancing dan Reverse Proxying, Virtual hosts berbasis nama dan IP, FastCGI, akses langsung ke Memcached Cache, SSL, Flash Video Streaming dan sejumlah fitur-fitur standar lainnya. Nginx dapat dijalankan dan tersedia untuk platform Unix, Linux, varian dari BSD, Mac OS X, Solaris, dan Microsoft Windows.

Nginx menjadi pilihan berkat kinerjanya yang tinggi, stabilitas, kekayaan akan fitur, mudah dikonfigurasi dan terutama hemat sumber daya. Berbeda dengan server tradisional, Nginx tidak sepenuhnya bergantung pada ‘threads‘ untuk menangani permintaan (requests). Sebagai pengganti Nginx menggunakan teknik arsitektur yang digerakkan berdasarkan event yang lebih skalabel (scalable asynchronous event-driven architecture). Arsitektur ini ternyata pada saat dibebani hanya memerlukan sedikit memori dan menurut pengembangnya dalam jumlah yang bisa diprediksikan.

Awalnya Nginx dibangun di Rusia untuk memenuhi kebutuhan mesin pencari skala besar Rambler yang tetap memanfaatkannya sampai sekarang. Berkat berbagai kemampuan yang dimilikinya, termasuk kinerja yang tinggi dan fleksibilitas dalam komfigurasi, nginx banyak digunakan untuk mendukung layanan web skala besar seperti WordPress.com, GitHub, SourceForge, ComputerBase, FastMail, Hulu dan lainnya.

Nginx menggunakan asynchronous-event pendekatan untuk menangani permintaan yang diprediksi memberikan kinerja yang lebih bawah beban, kontras dengan Apache HTTP server model yang menggunakan berulir atau proses yang berorientasi pada pendekatan-permintaan penanganan.

Fitur

Handling of static files, index files, and auto-indexing

Reverse proxy with caching Load balancing Fault tolerance SSL support FastCGI support with caching Name- and IP-based virtual servers FLV streaming MP4 streaming, using the MP4 streaming module

4

Page 6: Perbandingan Web Server

Web page access authentication gzip compression Ability to handle more than 10000 simultaneous connections URL rewriting Custom logging Server-side includes

Fitur Mail proxy:1. SMTP, POP3, and IMAP proxy2. STARTTLS support3. SSL support

4. Web Server Apache Tomcat

Apache tomcat adalah server web berbasis opensource yang mendukung untuk penggunaan JSP (Java Server Pages). Secara default, server tomcat ini belum memiliki package admin, sehingga tidak ada akses untuk admin. Yang ada hanyalah tomcat manager untuk memdeploy aplikasi web melalui file .war dari java web.

Ketika kita berusaha masuk ke URL admin ada keterangan Tomcat's administration web application is no longer installed by default. Download and install the "admin" package to use it. Hal itu dikarenakan tidak ada package admin dalam apache tomcat tersebut. Akses administration server tomcat ini bisa untuk setting JNDI. Apa itu JNDI??

5

Page 7: Perbandingan Web Server

Java Naming and Directory Interface (JNDI) adalah sebuah API yang mendeskripsikan library Java yang standar untuk mengakses layanan naming dan directory seperti Domain Naming Service (DNS), dan Lightweight Directory Access Protocol (LDAP). Apache Tomcat merupakan implementasi software open source dari Java Servlet dan JavaServer Pages teknologi. Java Servlet dan JavaServer Pages spesifikasi yang dikembangkan di bawah Java Community Process.

5. Web Server Lighttpd

Web Server yang alamat websitenya di http://lighttpd.net/ ini ditulis dalam bahasa pemrograman C. Dapat dijalankan pada sistem operasi Linux dan sistem operasi Unix-like lainnya, serta dapat pula dijalankan pada sistem operasi Windows. Lighttpd bersifat open source dan didistribusikan dengan lisensi BSD.

Lighttpd mengklaim dirinya sebagai web server yang “memakan” sedikit space memori jika dibandingkan dengan web server lain. Selain itu lighttpd mempunyai kemampuan untuk mengatur cpu-load secara efektif dan beberapa fitur advance seperti FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting dan lain-lain. Secara lengkap, fitur-fitur yang disediakan oleh lighttpd adalah sebagai berikut:

1. Load-balancing FastCGI, SCGI, dan HTTP proxy support2. chroot support3. web server berbasis select()-/poll()-/epoll()4. Support untuk skema notifikasi event yang lebih efisien seperti kqueue dan epoll5. Conditional rewrites (mod_rewrite)6. SSL dan TLS support, via OpenSSL.7. Otentikasi terhadap sebuah server LDAP8. Statistik RRDtool9. Rule-based downloading dengan kemungkinan penanganan sebuah script hanya

otentikasi10. Server Side Includes support11. Virtual hosting yang fleksibel12. Modules support13. Cache Meta Language (saat ini sedang diganti mod_magnet) menggunakan bahasa

pemrograman Lua14. Minimal WebDAV support15. Servlet (AJP) support (pada versi 1.5.x ke atas)16. HTTP compression menggunnakan mod_compress dan mod_deflate terbaru (1.5.x)17. Berukuran kecil (kurang dari 1 MB)18. Desain single-process hanya dengan beberapa thread. Tidak ada proses atau thread

dimulai per koneksi.

Dengan semua fitur dan kelebihannya, lighttpd sangat cocok digunakan untuk aplikasi-aplikasi web yang termasuk kategori Web 2.0. Beberapa situs-situs Web 2.0 populer yang menggunakan lighttpd antara lain YouTube (http://youtube.com), wikipedia (http://wikipedia.org), dan meebo (http://meebo.com).

6

Page 8: Perbandingan Web Server

Tabel Perbandingan Software Web Server

Kelebihan dan Kekurangan Web ServerDiantara pilihan web server yang kami pilih kelebihan dan kekurangannya kami jelaskan sebagai berikut:

Kelebihan dan Kekurangan Apache:Kelebihan Apache:

1. Apache termasuk dalam kategori open source dan freeware.2. Apache mudah sekali proses instalasinya jika dibanding web server lainnya seperti

NCSA, IIS, dan lain-lain.3. Mampu beroperasi pada berbagai platform sistem operasi.4. Mudah mengatur konfigurasinya. Apache mempunyai hanya empat file konfigurasi.5. Mudah dalam menambahkan peripheral lainnya ke dalam platform web servernya.6. Ada komunitas yang besar sehingga mudah mencari solusinya jika ditemukan masalah.7. Keamanannya bagus dan bisa menggunakan SSL (Secure Socket Layer).

Kekurangan Apache:

1. Web Server Apache tidak memiliki kemampuan mengatur load seperti IIS, sehingga akan terus mem-fork proses baru hingga nilai MaxClients tercapai atau hingga batas yang diizinkan oleh OS. Ini tentunya menguntungkan penyerang karena habisnya RAM akan lebih cepat tercapai.

7

Page 9: Perbandingan Web Server

2. Apache tidak memproses karakter kutip dalam string Referrer dan User-Agent yang dikirimkan oleh Client. Ini berarti Client dapat memformulasi inputnya secara hati-hati untuk merusak format baris log akses.

3. Terganggunya proses upload data, yang bisa menyebabkan software salah dalam menerjemahkan ukuran data yang masuk. Dengan celah tersebut, hacker dikabarkan dapat mengeksploitasi kerentanan dengan cara mengirimkan request pada server Apache bersangkutan. Versi yang cacat tersebut adalah seluruh generasi Apache 1.3 dan versi 2 hingga 2.0.36. Server yang diserang hacker memanfaatkan kelemahan ini akan mengalami DoS, alias server itu tak bisa diakses. Dalam sejumlah kasus, penyerangnya dapat menjalankan pilihan kodenya.

Kelebihan dan Kekurangan IIS:Kelebihan IIS:

1. Lebih kompatibel dengan Windows karena memang IIS adalah keluaran Microsoft2. Kinerja untuk PHP lebih stabil, handal, dan cepat3. Adanya kemampuan diagnostik untuk pelacakan kesalahan (bisa dikustomisasi)4. Untuk platform .NET, user hanya bisa menggunakan IIS

Kekurangan IIS:

1. Memiliki score tertinggi dari web server lainnya untuk masalah bug2. Tidak gratis (web server berbayar)3. Port 80 (Port untuk layanan web) sangat mudah diserang oleh cracker4. Keamanan file log juga sangat mudah ditembus sehingga system password pun akan

mudah didapatkan

Kelebihan dan Kekurangan Nginx:Kelebihan Nginx:

1. Performanya yang tinggi, stabil, memiliki banyak fitur2. Mudah dikonfigurasi3. Menggunakan hanya sedikit sumberdaya pada server4. Tidak bergantung kepada thread untuk melayani klien

Kekurangan Nginx:

1. Belum support IPV62. Update/patchnya versi terbarunya lama keluar3. Fast-CGInya tidak berfungsi maximal4. Pemakainya tidak sebanyak Apache atau IIS (komunitasnya tidak sebanyak Apache atau

IIS)

8

Page 10: Perbandingan Web Server

Kelebihan dan Kekurangan Apache Tomcat:Kelebihan Apache Tomcat:

1. Performanya yang tinggi, stabil, memiliki banyak fitur2. Mudah dikonfigurasi3. Menggunakan hanya sedikit sumberdaya pada server4. Tidak bergantung kepada thread untuk melayani klien

Kekurangan Apache Tomcat:

1. Belum support IPV62. Update/patchnya versi terbarunya lama keluar3. Fast-CGInya tidak berfungsi maximal4. Pemakainya tidak sebanyak Apache atau IIS (komunitasnya tidak sebanyak Apache atau

IIS)

Kelebihan dan Kekurangan Lighttpd:Kelebihan Lighttpd:

1. Performanya yang tinggi, stabil, memiliki banyak fitur2. Mudah dikonfigurasi3. Menggunakan hanya sedikit sumberdaya pada server4. Tidak bergantung kepada thread untuk melayani klien

Kekurangan Lighttpd:

1. Belum support IPV62. Update/patchnya versi terbarunya lama keluar3. Fast-CGInya tidak berfungsi maximal4. Pemakainya tidak sebanyak Apache atau IIS (komunitasnya tidak sebanyak Apache atau

IIS)

Perbandingan kinerja Web ServerSelama bertahun-tahun, apache menjadi salah satu webserver tertua dan yang paling banyak digunakan saat ini. Namun pelaksanaanya tidak sesuai dengan mekanisme skala yang relatif dan tidak efisien dalam beberapa hal. Beberapa tahun terakhir telah keluar beberapa web server yang mencoba mengatasi beberapa kekurangan dari apache. Yaitu web server LIGHTTPD dan NGINX.

9

Page 11: Perbandingan Web Server

Perhatikan ketiga web server pada diagram diatas. Web server yang didukung dan tersedia pra konfigurasi pada DreamHost PS, karena dukungan fitur yang luas maka semua bisa dilakukan oleh Apache.

Metode Pengujian

Metode yang digunakan untuk menguji web server menggunakan Apachebench (server HTTP perangkat acuan)

Setiap tes 25000 permintaan yang dibuat untuk file PNG 5k secara lokal dari DreamHost PS untuk menghapus kondisi jaringan berpotensi variabel persamaan.

Sebelum tes webserver dimulai dari membersihkan cache yang dapat mengganggu hasil. Pengujian dijalankan dengan nomor yang berbeda dari permintaan bersamaan untuk

mengukur kinerja pada berbagai tingkat kegunaan. Contoh umum yaitu 6 koneksi konkuren per single user yang telah browsing situs, untuk itu 10 pengguna browsing situs anda pada saat yang sama akan berjumlah sekitar 60 koneksi konkuren.)

Perintah yang digunakan dalam tes ini menggunakan format sebagai berikut :

ab -n 25000 -c 50 http://www.example.com/dreamhost_logo.png

dimana –c meningkat dengan tingkat konkurensi.

10

Page 12: Perbandingan Web Server

Penggunaan Memory

Seperti yang anda lihat pada diagram diatas, baik Lighttpd dan Nginx unggul dalam tes ini. Bahkan perbedaan SO itu luar biasa. Bagaimana bisa terjadi kesenjangan yang sangat signifikan?

Ada hubungannya dengan bagaimana apache menangani scaling dengan permintaan yang masuk lebih banyak. Untuk menangani permintaan tambahan, memunculkan thread baru yaitu proses. Semakin banyak koneksi masuk semakin banyak proses apache yang ditangani. Hal ini menyebabkan penggunaan memori tumbuh cukup cepat.

Sebagai perbandingan, anda bisa melihat Nginx dan Lighttpd memiliki pengguanaan memori yang cukup statis. Ligttpd meningkat dari waktu ke waktu ( memori bocor ), sedangkan Nginx tetap statis dari awal sampai akhir.

Permintaan Per second

Ini pada dasarnya adalah ukuran seberapa cepat server dapat menerima dan melayani permintaan pada berbagai tingkat konkurensi. Semakin mereka dapat menangani per detik , server mampu menangani dalam jumlah besar lalu lintas. Berikut perbandingan server dibawah ini:

11

Page 13: Perbandingan Web Server

NGINX mendominasi dalam melayani jumlah baku permintaan per detik. Pada tingkat yang lebih tinggi konkurensi, dapat menangani permintaan sedikit per detik. Tapi masih dapat berfungsi ganda untuk Lighttpd tidak. (Apache sudah melakukannya 4x dan berhasil)

Kesimpulan

Setelah membahas ketiga web server diatas, dapat diambil kesimpulan bahwa setiap web server unggul dalam beberapa testing dan mempunyai karakteristik masing – masing yang dapat diandalkan sesuai kebutuhan. Apabila dibutuhkan web server yang open source dapat diandalkan Apache, nginx, lighttpd, dan beberapa web server open source lainnya. Namun dari ketiga web server open source diatas, nginx paling unggul dibidang penggunaan resource memory dan penanganan permintaan per detik. Sedangkan apache lebih unggul karena patchnya yang lebih update dibandingkan kedua web server open source diatas.

Apabila kebutuhan kita dalam pembuatan web site menggunakan .net hanya ada IIS yang mampu digunakan untuk menjalankannya. Tapi kelemahannya web server ini bukan termasuk open source, namun soal performa web server ini bisa diandalkan dan mendapatkan full support dari Microsoft.

12

Page 14: Perbandingan Web Server

Referensi

http://wiki.dreamhost.com/Web_Server_Performance_Comparison

http://en.wikipedia.org/wiki/Comparison_of_web_server_software

http://en.wikipedia.org/wiki/Web_server

http://www.webdevelopersnotes.com/hosting/list_of_web_servers.php3

http://news.netcraft.com/archives/2012/03/05/march-2012-web-server-survey.html

http://socialcompare.com/en/comparison/comparison-of-web-servers

13