Cara Stress Test Web Server

Stress Test Server adalah cara untuk menguji performa server yang fokus untuk mengetes kekuatan, ketersediaan dan keandalan server dalam menjalankan sebuah proses, dalam kasus kali ini adalah Web Application.

Tujuan Stress Test Web Server adalah untuk mengetahui performa Server ketika sudah diinstall Web Server. Contoh, berapa banyak waktu yang diperlukan untuk melayani 100 permintaan (user) dalam satu waktu?

Tool yang saya gunakan untuk Stress Test Web Server adalah Apache Bench.

Untuk cara menginstall Apache Bench cukup mudah, cukup ketikan perintah seperti dibawah ini.

apt install apache2-utils
Cara Penggunaan

Tentukan URL Web Server yang akan di uji. Dalam contoh ini saya menggunakan Web Server lokal saya yang telah terinstall WordPress, dengan URL http://192.168.0.101/

Untuk menguji Server, gunakan perintah seperti dibawah ini.

ab -n 500 -c 100 http://192.168.0.101/

ab adalah perintah untuk menjalankan Apache Bench,
-n adalah untuk menentukan jumlah permintaan yang harus dilakukan,
-c adalah untuk menentukan jumlah permintaan yang harus dilakukan dalam satu waktu, dan diikuti dengan URL Web Server yang akan diuji.

Dari perintah diatas, akan menghasilkan output seperti berikut,

ab -n 500 -c 100 http://192.168.0.101/
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.0.101 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests
Server Software:        nginx/1.14.0
Server Hostname:        192.168.0.101
Server Port:            80
Document Path:          /
Document Length:        25757 bytes
Concurrency Level:      100
Time taken for tests:   9.152 seconds
Complete requests:      500
Failed requests:        0
Total transferred:      12991500 bytes
HTML transferred:       12878500 bytes
Requests per second:    54.63 [#/sec] (mean)
Time per request:       1830.442 [ms] (mean)
Time per request:       18.304 [ms] (mean, across all concurrent requests)
Transfer rate:          1386.22 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   1.2      0       9
Processing:    55 1655 429.8   1799    1963
Waiting:       16 1611 425.8   1754    1916
Total:         56 1656 428.9   1799    1964
Percentage of the requests served within a certain time (ms)
  50%   1799
  66%   1843
  75%   1871
  80%   1885
  90%   1912
  95%   1931
  98%   1944
  99%   1948
 100%   1964 (longest request)

Dari output diatas, terlihat berapa waktu yang diperlukan untuk melakukan test, jumlah permintaan perdetik, waktu per permintaan, dan lain-lain.

Selamat mencoba.

Default image
Ryan Rizky Diantoro
Saya seorang Linux System Administrator yang berasal dari Jepara

Leave a Reply