C. Mode dan Batas beban web server

  1. Terdapat dua jenis mode web server atau HTTP server, yaitu mode Kernel dan User.

    1. Mode kernel dari HTTP server mempunyai kecepatan yang lebih karena langsung terintegrasi dengan OS dan memang ditujukan untuk HTTP server. Sehingga mempunyai akses langsung ke sumber daya tingkat bawah seperti adaptor jaringan, buffer, atau memory

    2. Mode user lebih lama dan terbatas, karena mereka tidak mempunyai akses langsung ke dalam hardware dan sumber daya tingkat bawah. Mereka harus meminta dahulu kepada OS untuk sumber daya, lalu mereka harus berbagi resource dengan aplikasi lainya. Pada sistem Windows, bisa menggunakan IIS, atau di Linux menggunakan TUX.

  2. Batas beban web server

    Web server mempunyai keterbatasan tentang berapa jumlah pengguna yang bisa dilayani secara bersamaan. Karena itu biasanya ada lebih dari satu web server yang disediakan apabila jumlah pengguna yang dilayani sangat besar. Batas-batas web server ini ditentukan bebera faktor antara lain :

    1. Konfigurasi Web Server
    2. Jenis HTTP Request
    3. Jenis Konten Dinamik atau Statik
    4. Batas Hardware atau Software

       

    Ketika batas ini tercapai, maka web server akan mengalami macet dan tidak responsif. Biasanya, batas-batas ini tercapai ketika ada beberapa hal yang terjadi.

    • Banyaknya pengguna yang terhubung secara bersamaan.

      Ketika ada pengguna yang terhubung secara bersamaan. Maka sumber daya dari web server akan terbagi-bagi juga dalam saat yang bersamaan. Proses input output memakan waktu yang lama, pembacaan file yang berkali-kali dalam waktu yang tidak jauh berbeda akan membuat web server kehilangan keseimbangan dan akhirnya tidak bisa menyelesaikan permintaan.

    • Serangan DDOS

      Serangan DDOS atau Distributed Denial Of Service, membuat server kewalahan melayani serangan tersebut. Akibatnya, pengguna lainya tidak akan mendapatkan sumber daya yang diminta.

    • Virus

      Adanya virus yang menyebar melalui jutaan komputer bisa menghambat kinerja dari server. Apabila ada satu juta komputer terinfeksi, maka mereka akan mencoba menyebar melewati jaringan internet, dan salah satu layanan yang juga terkena serangan adalah web server.

    • Jaringan Lambat

      Jaringan yang lambat akan mengakibatkan server memrposes suatu permintaan lebih lama daripada biasanya. Hal yang seperti ini menyebabkan bottleneck, jadi ketika seharusnya server selesai memproses, dia harus menunggu lama karena jaringanya lambat, hinga akhirnya semua beban menumpuk dan server akhirnya down.

    Beberapa cara juga bisa dilakukan untuk membuat batas-batas web server tidak tercapai. Dengan mengoptimalkan sumber daya yang ada, dan kemampuan dari web server.

    • Mengatur Trafik Jaringan

      Mengatur trafik jaringan dengan membatasi sebuah permintaan dengan firewall, dan juga memfilter permintaan HTTP yang buruk, juga melakukan pengaturan bandwidth.

    • Menggunakan Cache

      Web server harus menggunakan teknologi cache, sehingga resource yang sama diminta berkali-kali tidak perlu melewati proses yang lama. Apalagi melewati jalur IO yang padat dan lambat.

    • Menggunakan Lebih dari Satu Web Server

      Menggunakan satu web server akan membuat sistem terbebani, namun apabila menggunaan dua web server, maka server satunya bisa beristirahat dan membebaskan sumber daya yang sudah diproses, dan web server lainya mengerjakan beberapa dari tanggung jawab web server satu. Memecah web server ini merupakan salah satu cara yang sangat efektif, namun karena faktor biaya membuat lebih dari web server bukanlah harga yang murah.