Pasti ada sebagian orang yang merasa asing dengan kata benchmark. Jika belum menggunakan memang selalu membuat bertanya-tanya apa sebenarnya fungsi dari benchmark itu sendiri.
dikutip dari jurnal yang ditulis oleh Kusumo et al, dengan judul “Pemanfaatan Dan Pengujian Aplikasi Varnish Web Cache Untuk Mempercepat Akses Website” ApacheBench adalah alat untuk proses benchmark apache HTTP server dan di desain untuk memberikan gambaran performa instalasi apache.
Secara khusus akan menampilkan seberapa banyak request per detik yang bisa dilayani oleh apache. Jadi apache benchmark ini adalah salah satu tool yang digunakan untuk pengukuran dari performa web server.
Apache benchmark ini tidak perlu diinstall, karena benchmark ini akan otomatis terinstall (bawaaan) ketika kita melaukan installasi apache web server.
Namun apache benchmark juga dapat digunakan selain di web server apache, seperti pada web server nginx, dan microsoft iis. Untuk itu perlu dilakukan installasi apache benchmark dengan perintah:
apt-install apache2-utils
Pengujian web server menggunakan ApacheBenchmark (AB)
Lalu bagaimana cara menggunakan apachebench ini?
Pengujian dilakukan dengan mengirimkan request menggunakan perintah ab -n 100 -c 50 atau juga dapat dilakukan dengan ab -k -c 50 -n 100 -H “Accept-Encoding: gzip, deflate” dimana Apache bench dengan total koneksi N dibuat dengan konkurensi koneksi C, di mana N dan C ditentukan oleh pengguna, sedangkan -k digunakan untuk mengirimkan koneksi ke web browser yang telah terbuka tidak ditutup namun diulang.
Ditambahkannya “Accept-Encoding: gzip, deflate” digunakan untuk mengompresi output teks/html 25% -75%. Dibawah ini contoh pengukuran web server yang telah saya buat dalam VPS menggunakan apache benchmark.
Benchmarking apache.tech (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Completed 1000 requests Finished 1000 requests Server Software: Apache/2.4.29 Server Hostname: apache.tech Server Port: 80 Document Path: / Document Length: 3736 bytes Concurrency Level: 100 Time taken for tests: 31.201 seconds Complete requests: 1000 Failed requests: 0 Keep-Alive request: 0 Total transferred: 4027000 bytes HTML transferred: 3736000 bytes Requests per second: 32.05 [#/sec] (mean) Time per request: 3120.145 [ms] (mean) Time per request: 31.201 [ms] (mean, across all concurrent requests) Transfer rate: 126.04 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 1 1.1 0 5 Processing: 169 3023 1381.8 2668 10170 Waiting: 169 2975 1381.8 2666 10170 Total: 169 3023 1381.3 2669 10170 Percentage of the requests served within a certain time (ms) 50% 2669 66% 2813 75% 2949 80% 3266 90% 4640 95% 6206 98% 7410 99% 8499 100% 10171 (longest request)