Anda di halaman 1dari 14

TUGAS

REKAYASA PERANGKAT LUNAK


KOMPARASI PERFORMANCE WEB SERVER

DR. DWI HANDOKO, M.Eng

1. HIMAWAN 2. USUP ` 3. MUHAMMAD ZIAD ZIAYUDDIN 4. KHOIRUL ARIFIN 5. RIZAL FAZRUL WAHYUDI 6. MUGI PRASEPTIAWAN 7. FAUYHI EKO NUGROHO 8. COUDRY BERNADETH 9. HENDRIK HERDIANSYAH 10.FERRY RAWAYANA 11.FIRMANTO

1111600142 1111600159 1111600316 1111600324 1111600332 1111600340 1111600357 1111600365 1111600373 1111600381 1111600399

UNIVERSITAS BUDI LUHUR

1. Definisi Web Server. Web server adalah software yang menjadi tulang belakang dari world wide web (www). Web server menunggu permintaan dari client yang menggunakan browser seperti Netscape Navigator, Internet Explorer, Mozilla, dan program browser lainnya. Jika ada permintaan dari browser, maka web server akan memproses permintaan itu kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke browser. Data ini mempunyai format yang standar, disebut dengan format SGML (standar general markup language). Data yang berupa format ini kemudian akan ditampilkan oleh browser sesuai dengan kemampuan browser tersebut. Contohnya, bila data yang dikirim berupa gambar, browser yang hanya mampu menampilkan teks (misalnya lynx) tidak akan mampu menampilkan gambar tersebut, dan jika ada akan menampilkan alternatifnya saja. Web server, untuk berkomunikasi dengan client-nya (web browser) mempunyai protokol sendiri, yaitu HTTP (hypertext tarnsfer protocol). Dengan protokol ini, komunikasi antar web server dengan client-nya dapat saling dimengerti dan lebih mudah. Seperti telah dijelaskan diatas, format data pada world wide web adalah SGML. Tapi para pengguna internet saat ini lebih banyak menggunakan format HTML (hypertext markup language) karena penggunaannya lebih sederhana dan mudah dipelajari. Kata HyperText mempunyai arti bahwa seorang pengguna internet dengan web browsernya dapat membuka dan membaca dokumen-dokumen yang ada dalam komputernya atau bahkan jauh tempatnya sekalipun. 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 halamanhalaman 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. 2. Cara Memilih Web Server. Untuk membuat sebuah web server, maka kita akan menemukan berbagai macam persoalan, dimulai dari pemilihan software web browser mana yang paling sesuai kebutuhan, apa saja spesifikasi hardware yang dibutuhkan, bagaimana kondisi interkoneksi jaringan internet yang ada, dan lain sebagainya. Belum lagi termasuk bagian pembuatan halaman-halaman webnya, mau menggunakan format apa (HTML, SGML, PHP, PHP3, CGI, dan lain-lain). Hal yang paling utama dalam proses pembuatan web server adalah memilih software mana yang akan digunakan sebagai web server kita. Untuk itu perlu adanya pertimbangan sebagai berikut : Lisensi dari software yang akan digunakan (freeware, shareware atau komersial). Kemudahan instalasi. Kemudahan dalam mengatur konfigurasi. Kemudahan untuk menambah atau mengubah peripheralnya. Kemampuan Software. Besar ruang yang dibutuhkan untuk menyimpan file-file minimal yang dibutuhkan agar software dapat berfungsi dengan baik. Prospek software tersebut dimasa yang akan datang. Performasi dan konsumsi sumber daya yang digunakan software itu. Fasilitas apa yang mampu didukung oleh software itu. Dukungan teknis (mempunyai site-site atau milis untuk bertanya bila terjadi masalah)

3. Perangkat Lunak Web Server

a.lite speed Teknologi Web Server ini yang kita kenal dengan Litespeed Web Server adalah sebuah teknologi Web Server untuk menggantikan web server yang selama ini kita pakai semisal Apache. Kebanyak hosting yang kita temui di Indonesia bahkan seluruh Indonesia adalah Apache. Di karenakan Apache ini lebih umum di pakai, karena tidak mengeluarkan biaya yang besar alias gratis. Berbanding terbalik dengan Litespeed Web Server yang harga lisensinya sangat tinggi. Keunggulan Litespeed Web Server Memiliki Akses Loading Time lebih cepat 6x dari apache klik disini untuk benchmark Support .htaccess sehingga string cache akan otomatic ter create dengan sempurna. Compatible dengan mod_security dan mod_rewite Meminimalisir Overload Server yang di karenakan terlalu minimnya spesifikasi server Proses PHP 50% lebih cepat Litespeed Web Server mampu menahan Serangan DDOS attack yang banyak di takuti oleh para hoster. Bila menyimpulkan fitur-fitur di atas maka akan memperoleh hasil sbb : Akses anda meskipun berada di USA, bila di akses dari Indonesia tetap cepat seperti anda menempatkan hosting anda di server Indonesia. Akses Loading time 6 x lebih cepat dari pada apache biasanya. Server dengan teknologi Litespeed Web Server akan meminimalisir segala bentuk overload server, artinya server dengan teknologi ini jarang sekali down karena overload. Hosting jenis ini sangat cocok digunakan untuk melakukan hosting berjenis WordPress, Joomla, Drupal dan sejenis website kelas berat ( term of service tetap mengacu ke hoster anda ). Teknologi ini sangat mahal, tentunya harga jual shared dan reseller lebih mahal dari Apache biasa, namun kualitas dan akselarasi yang anda dapat akan berbeda dengan yang biasa.

b. apache 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. Berdasarkan sejarahnya, Apache dimulai oleh veteran developer NCSA httpd (National Center for Supercomputing Application). Saat itu pengembangan NCSA httpd sebagai web server mengalami stagnasi. ROB MC COOL meninggalkan NCSA dan memulai sebuah proyek baru bersama para webmaster lainnya, menambal bug, dan menambahkan fitur pada NCSA httpd. Mereka mengembangkan program ini lewat mailing list. Dengan berpijak pada NCSA httpd versi 1.3, Team Apache mengeluarkan rilis pertama kali secara resmi Apache versi 0.6.2. Saat ini Apache dipergunakan secara luas. Hal ini disebabkan karena programnya yang gratis, dengan kinerja relatif stabil. Dalam pengembangannya pun mempergunakan sistem Bazaar, yakni tiap orang dibuka kesempatan seluas-luasnya untuk dapat memberikan kontribusi dalam mengembangkan program. Kontribusi dikomunikasikan lewat mailing list. Tim Apache mempunyai mailing list yang terbuka untuk siapa saja yang ingin ambil bagian. Untuk mendaftar cukup kirim email ke majordomo@apache.org dengan baris pertama dari email bertuliskan "subscribe newhttpd". Perlu dicatat bahwa proyek pengembangan Apache ini mempunyai sistem meritokrasi. Semakin banyak yang Anda sumbangkan, semakin banyak yang boleh dikerjakan. Apache mempunyai program pendukung yang cukup banyak. Hal ini memberikan layanan yang cukup lengkap bagi penggunanya. Beberapa dukungan Apache : Kontrol Akses. Kontrol ini dapat dijalankan berdasarkan nama host atau nomor IP 1. 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)

2. 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 3. SSI (Server Side Includes) Web server Apache mempunyai kelebihan dari beberapa pertimbangan di atas : Apache termasuk dalam kategori freeware. Apache mudah sekali proses instalasinya jika dibanding web server lainnya seperti NCSA, IIS, dan lain-lain. Mampu beroperasi pada berbagai paltform sistem operasi. Mudah mengatur konfigurasinya. Apache mempunyai hanya empat file konfigurasi. Mudah dalam menambahkan peripheral lainnya ke dalam platform web servernya.

Fasilitas atau ciri khas dari web server Apache adalah : Dapat dijadikan pengganti bagi NCSA web server. Perbaikan terhadap kerusakan dan error pada NCSA 1.3 dan 1.4. Apache merespon web client sangat cepat jauh melebihi NCSA. Mampu di kopilasi sesuai dengan spesifikasi HTTP yang sekarang. Apache menyediakan feature untuk multihomed dan virtual server. Kita dapat menetapkan respon error yang akan dikirim web server dengan menggunkan file atau skrip. Server apache dapat otomatis berkomunikasi dengan client browsernya untuk menampilkan tampilan terbaik pada client browsernya. Misalnya, browser ingin menampilkan dalam bahasa spanyol, maka web server apache otomatis mencari dalam servicenya halaman-halaman dengan bahasa spanyol. Web server Apache secara otomatis menjalankan file index.html, halaman utamanya, untuk ditampilkan secara otomatis pada clientnya. Web server Apache mempunyai level-level pengamanan. Apache mempunyai komponen dasar terbanyak di antara web server lain. Ditinjau dari segi sejarah perkembangan dan prospeknya, Apache web server mempunyai prospek yang cerah. Apache berasal dari web server NCSA yang kemudian dikembangkan karena NCSA masih mempunyai kekurangan di bidang

kompatibilitasnya dengan sistim operasi lain. Sampai saat ini, web server Apache terus dikembangkan oleh tim dari apache.org. Performasi dan konsumsi sumber daya dari web server Apache tidak terlalu banyak, hanya sekitar 20 MB untuk file-file dasarnya dan setiap daemonnya hanya memerlukan sekitar 950 KB memory per child. Mendukung transaksi yang aman (secure transaction) menggunakan SSL (secure socket layer). Mempunyai dukungan teknis melalui web. mempunyai kompatibilitas platform yang tinggi. mendukung third party berupa modul-modul tambahan

c. thttpd Sesuai namanya, thttpd (t untuk tiny) adalah web server yang berukuran kecil dan cepat. Thttpd sangatlah sederhana, portable dan juga aman. Dengan ukurannya yang ke-cil, dalam kondisi tertentu, thttpd sangatlah cepat, bahkan dapat mengalahkan apache. Thttpd dikatakan sederhana karena hanya menangani spesi kasi HTTP/1.1 yang diper-lukan. Namun, pengertian yang diperlukan di sini umumnya sudah dapat memenuhi semua kebutuhan untuk melayani data sta-tis, ditambah dengan sedikit data dinamis. Sementara, walaupun kecil, thttpd dapat berjalan pada sangat banyak platform, mu-lai dari FreeBSD, Linux sampai Solaris. Ter-akhir, untuk semua fasilitas yang sediakan tersebut, thttpd terhitung cukup aman karena berjalan pada modus chroot. Untuk menambah kekaguman Anda, thttpd dapat pula bekerja dengan server side include, aplikasi CGI, proteksi halaman web, halaman web per user dan advanced feature seperti redireksi dan URL-traf cbased throttling di mana yang terakhir masih belum dimiliki oleh web server lain.

d. Lightttpd Lighttpd (diucapkan dengan lightly) adalah sebuah web server yang didesain aman, cepat, sesuai standar, dan fleksibel untuk dioptimasikan pada speed-critical environments. Awalnya, lighttpd ditulis oleh seorang programmer Jerman bernama Jan Kneschke (yang juga bekerja untuk MYSQL). Web server yang alamat websitenya di http://lighttpd.net/ ini ditulis dalam bahasa pemrograman C. Dapat dijalankan pada sistem operasi Linux dan sistem operasi Unixlike 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, fiturfitur yang disediakan oleh lighttpd adalah sebagai berikut.

Load-balancing FastCGI, SCGI, dan HTTP proxy support chroot support web server berbasis select()-/poll()-/epoll() Support untuk skema notifikasi event yang lebih efisien seperti kqueue dan epoll Conditional rewrites (mod_rewrite) SSL dan TLS support, via OpenSSL. Otentikasi terhadap sebuah server LDAP Statistik RRDtool Rule-based downloading dengan kemungkinan penanganan sebuah script hanya otentikasi Server Side Includes support Virtual hosting yang fleksibel Modules support Cache Meta Language (saat ini sedang diganti mod_magnet) menggunakan bahasa pemrograman Lua Minimal WebDAV support

Servlet (AJP) support (pada versi 1.5.x ke atas) HTTP compression menggunnakan mod_compress dan mod_deflate terbaru (1.5.x) Berukuran kecil (kurang dari 1 MB) 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). Kenapa kita harus menggunakan lighttpd jika sudah ada Apache yang merupakan market leader dalam dunia web server? Selain karena kelebihan dan fitur-fitur yang ditawarkan oleh lighttpd yang sudah disebutkan diatas, ternyata Apache mempunyai beberpa kekurangan yang dapat membuat kita harus berpikir untuk menggunakan web server alternatif, selain Apache. Apache menyediakan berbagai Model Multi-Processing untuk digunakan di berbagai runtime environment. Model Prefork yang paling populer di Linux membuat sejumlah proses Apache pada saat startup dan mengelola mereka pada sebuah pool. Alternatif model worker menggunakan multiple thread, bukan proses. Walaupun thread lebih ringan daripada proses, kita tidak dapat menggunakannya kecuali seluruh server bersifat threadsafe. Meskipun Apache dan mod_php bersifat threadsafe, hal ini tidak dijamin untuk semua modul pihak ketiga yang mungkin digunakan. Situs yang berbasis PHP mengecilkan penggunaan Apache 2 dengan MPM berthread; ini mungkin telah memperlambat pergerakan developer dari Apache 1.3 ke Apache 2.0. Namun, model prefork memiliki masalahnya sendiri: setiap proses (Apache

+ PHP + modul pihak ketiga) mengkonsumsi banyak space memori (30MB adalah hal yang tidak biasa). Jika kita kalikan hal ini dengan jumlah proses-proses Apache secara
simultab, space RAM yang tersedia akan berkurang dengan cepat. Lighttpd saat ini sudah menjadi kompetitor kuat bagi Apache khususnya jika memory yang tersedia terbatas atau workload terdiri dari banyak file status. Lighttpd (sesuai namanya) adalah web server yang ringan dan ringan itu baik.

4. Comparasi dan Kinerja Web Server Data-data berdasarkan hasil benchmark mengenai hasil komparasi dan kinerja pada penulisan ini, diambil langsung dari situs resmi www.lightttpd.net Small Static File (Non-Keepalive) Benchmark

Karena perangkat keras server SMP dan skalabilitas SMP dari server LiteSpeed.ltd, kinerja nyata tidak tercermin melalui klien tes tunggal. Sebagai tanggapan, kita telah menggunakan 2 klien uji dari 2 mesin terpisah untuk menampilkan skalabilitas SMP dari server edisi Enterprise. Apache dan non-Enterprise edisi server LiteSpeed tidak menunjukkan peningkatan yang berarti dalam tes klien 2 dan dengan demikian tidak termasuk dalam hasil akhir.

Small Static File (Keepalive) Benchmark

Concurenccy

Web Server Software Testing

Test Server Enviorenment

Test Client Enviorenment

Test Result Procedure Setiap kasus uji berjalan tiga kali, dan hasil terbaik digunakan. Server itu reboot setelah pengujian setiap perangkat lunak server. Patokan file kecil statis Sebuah file statis kecil dengan 100 byte dalam ukuran yang digunakan dalam tes ini. Alasan menggunakan file kecil adalah: untuk menghindari bottleneck bandwidth jaringan, untuk mengungkapkan kinerja perangkat lunak server web bukan kernel. Benchmark Static Non-KeepAlive Command/Source

ab -n 100000 -c [concurrent level] http://[ip]:[port]/100.html


<html> <head> <title>Test page</title> </head> <body> <h1>This is a test page</h1> </body> </html>

Static KeepAlive

ab -k -n 100000 -c [concurrent level] http://[ip]:[port]/100.html


<html> <head> <title>Test page</title> </head> <body> <h1>This is a test page</h1> </body> </html>

CGI

ab -n 3000 -c [concurrent level] http://[ip]:[port]/cgi-bin/echo Used the C CGI/FCGI example in fcgi 2.4 package which prints out all CGI environment variables.

Fast-CGI

ab -n 10000 -c [concurrent level] http://[ip]:[port]/cgi-bin/echo A simple C++ Fast CGI script (echocpp) is used in this test, it is a modified version of the C++ FCGI example in fcgi 2.4 package. It has been modified to only generate a constant response with 162 bytes in the response body. The part that changes from request to request has been removed because ApacheBench does not like responses with variable response body size.

PHP/Hello

ab -n 10000 -c [concurrent level] http://[ip]:[port]/hello.php


<? echo "Hello, World!"; ?>

PHP/Info

ab -n 10000 -c [concurrent level] http://[ip]:[port]/phpinfo.php


<HTML> <BODY> <? phpinfo() ?> </BODY> </HTML>

Perl

ab -n 10000 -c [concurrent level] http://[ip]:[port]/hello.pl


#!/usr/bin/perl print <<OUT; Content-type: text/html <html><head></head><body> <h1>Hello World</h1> Hello World! <body></html> OUT

5. Kesimpulan 6. Referensi

http://www.lighttpd.net http://en.wikipedia.org/wiki/Lighttpd http://www.hilman.web.id/posting/blog/801/lighttpd-web-server-alternatif-selainapache.html http://www.onlamp.com/pub/a/onlamp/2007/04/05/the-lighttpd-web-server.html http://www.litespeedtech.com/web-server-performance-comparison-litespeed-2.1-vs.html