Mengenal Kinerja Apache Worker di Balik Layanan Data Berbasis Web

Mengenal Kinerja Apache Worker di Balik Layanan Data Berbasis Web

Blog.Gamatechno.com – Memiliki sebuah layanan berbasis web menuntut pemiliknya untuk terus meningkatkan layanannya. Apalagi saat web harus diakses oleh banyak orang, tentu saja performa dan kinerjanya harus dapat dipastikan tangguh agar benar-benar kuat dan siap melayani request dari pengguna. Dengan produk-produk yang sebagian besar berbasis web, Gamatechno pun selalu melakukan improvment teknologi pada layanannya. Salah satunya adalah perubahan mode kerja di web server Gamatechno, terutama untuk produk segment Academic yang memiliki banyak client perguruan tinggi.

Apa itu Web server, mode kerja dan perubahan apa yang perlu dilakukan untuk meningkatkan kinerja layanan data web akan diulas lengkap oleh Wahyu Bimo Sukarno dalam artikel berikut.

Web server pada layanan data berbasis web

Web server secara fisik didefinisikan sebagai sebuah komputer/host yang berfungsi untuk menyimpan dan memberikan layanan data HTTP. Saat website di akses oleh banyak orang dalam satu waktu bersamaan, web server akan bekerja sangat keras. Pada waktu inilah kita bisa mengukur seperti apa kinerja web server yang kita gunakan.

Istilah untuk jumlah permintaan data dalam waktu bersamaan disebut concurent connection. Apabila concurent connection tidak dibatasi, maka space memory dan processor server akan habis. Jika hal itu berlangsung terus menerus dalam waktu yang lama maka server bisa berhenti melayani permintaan akses website bahkan sampai terjadi kerusakan hardware. Tentu tidak jarang kita mendengar istilah komputer server yang mati bukan? Hal itulah yang menjadi salah satu penyebabnya.

Mode Kerja Prefork vs Worker

Web server masa kini memiliki banyak pilihan mode kerja (working mode), di antaranya Prefork atau Multi Processing Module Prefork (MPM Prefork) dan Worker (MPM Worker). Bagi pengguna server Apache, mode prefork merupakan mode yang otomatis digunakan/default saat instalasi. Namun mode kerja ini memiliki kemampuan concurrency/proses transaksi yang rendah sehingga hanya cocok untuk aplikasi skala kecil.

Ketika web server harus diakses oleh user dalam jumlah banyak, mode Worker menjadi pilihan yang pas. Dengan concurrency yang tinggi serta kemampuannya yang efektif dan efisien mengatur proses kerja, web server akan jauh lebih tangguh dengan mode ini.  

Gambar berikut ini dapat menjelaskan proses di mode Prefork yang hanya bisa menangani satu user saja, sementara di mode Worker, satu proses bisa terdiri dari banyak thread dan banyak user. Daemon adalah proses yang berjalan secara realtime dan berfungsi membuat aplikasi yang berjalan di service berjalan secara otomatis.

image 1
Gambar 1. Perbandingan cara kerja mode Prefork dan mode Worker

Perhatikan konfigurasi prefork mode pada gambar di bawah ini!

image 2
Gambar 2. Konfigurasi Mode Prefork

Konfigurasi tersebut memiliki arti bahwa jika mode Prefork yang diaktifkan maka akan disediakan setidaknya 5 daemon server. Dalam suatu proses dapat disediakan lebih dari 10 daemon server, dengan setiap daemonnya memiliki kemampuan menangani 150 request. Berarti dalam satu waktu bersamaan, Apache mampu melakukan handling 1500 request. Apakah yang akan terjadi jika request yang ada melebihi jumlah yang disediakan? Maka koneksi selanjutnya, misal ke 1501? Koneksi selanjutnya akan difilter oleh firewall Apache, dan memasuki masa tunggu. Dalam browser si client, akan terjadi halaman kosong dengan status-bar waiting yang cukup lama, menunggu salah satu proses dari 1500 tersebut berhenti.

Bagaimana dengan Apache Worker? Perhatikan pada konfigurasi di bawah ini :

image 3
Gambar 3. Konfigurasi Mode Worker

Dalam konfigurasi tersebut, tersedia daemon server sejumlah lima server. Sedangkan tiap server akan tersedia minimal daemon thread sebanyak 25, dan dapat hingga 75 jika dibutuhkan. Thread Limit akan menentukan jumlah maksimal Thread process yang akan dikerjakan. Tiap thread akan bertanggung jawab kepada sejumlah MaxClients.

Improve teknologi untuk terus tingkatkan layanan

Ketika layanan web server semakin banyak diakses oleh pengguna, perubahan dari mode default prefork menjadi worker menjadi sebuah kebutuhan. Seperti yang dilakukan Gamatechno di sisi layanan servernya. Mode worker saat ini sudah digunakan Gamatechno sebagai bentuk peningkatan layanan kepada ratusan perguruan tinggi yang menjadi client Gamatechno. Perubahan mode ini membuat Gamatechno menjadi lebih siap support concurent connection yang sangat mungkin terjadi dari kampus-kampus yang menggunakan produk Gamatechno. Info lebih lanjut tentang produk dan dukungan layanan Gamatechno, bisa di cek di www.gamatechno.com

Sumber image: www.technologydatagroup.com

Leave a comment