GNU/Linux >> Belajar Linux >  >> Linux

Cara Membandingkan Kinerja Server Web dengan Apache Bench

Jika Anda seorang webmaster, Anda mungkin sering khawatir dengan kinerja aplikasi web Anda. Anda mungkin mengajukan pertanyaan seperti, "bagaimana cara melakukan pengujian beban aplikasi saya?" atau "apakah aplikasi saya dapat menangani banyak pengguna?" Dalam kasus ini, Apache Bench dapat sangat membantu. Apache Bench adalah alat sumber terbuka dan gratis untuk mengukur kinerja server web dengan antarmuka baris perintah yang sederhana dan mudah digunakan; ini dapat membantu Anda memahami bagaimana kinerja instalasi Apache Anda saat ini.

Dalam tutorial ini, kami akan menunjukkan cara menginstal dan menggunakan Apache Bench di Linux.

Prasyarat

  • VPS Ubuntu 18.04 baru di Platform Cloud Atlantic.Net.
  • Kata sandi root dikonfigurasi di server Anda.

Langkah 1 – Buat Server Cloud Atlantic.Net

Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Ubuntu 18.04 sebagai sistem operasi dengan setidaknya 1GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.

Setelah Anda masuk ke server Ubuntu 18.04 Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.

apt-get update -y

Langkah 2 – Instal Apache Bench

Apache Bench adalah bagian dari paket server web Apache, jadi Anda tidak perlu menginstal Apache Bench jika Server Web Apache diinstal pada sistem Anda.

Untuk sistem operasi Ubuntu/Debian, instal alat Apache Bench dengan perintah berikut:

apt-get install apache2-utils -y

Untuk sistem operasi RHEL/CentOS, instal alat Apache Bench dengan perintah berikut:

yum install httpd-tools -y

Anda dapat menampilkan semua opsi yang tersedia dengan alat Apache Bench menggunakan perintah berikut:

ab

Anda akan melihat layar berikut:

Penjelasan singkat tentang opsi yang paling umum digunakan ditunjukkan di bawah ini:

  • -n: Tentukan jumlah permintaan koneksi yang dikirim ke server web.
  • -c: Tentukan jumlah permintaan koneksi bersamaan yang dikirim ke server web.
  • -t: Tentukan jumlah detik perintah ab harus terus mengirim permintaan.

Catatan: Terkadang Anda mungkin mendapatkan kesalahan "waktu koneksi habis". Alasannya adalah permintaan koneksi Anda diblokir oleh firewall atau server web Apache tidak dapat menangani permintaan lebih lanjut.

Langkah 3 – Menjalankan Tes Stres

Pada titik ini, alat Apache Bench diinstal. Sekarang, Anda dapat melakukan stress test terhadap server web Anda secara lokal atau menggunakan nama domain.

Mari kita lakukan stress test terhadap server web Apache Anda dengan mengirimkan 800 permintaan melalui 300 koneksi bersamaan.

ab -n 800 -c 300 http://your-domain-name/

Ini akan tampil untuk 800 permintaan dengan 300 bersamaan seperti yang ditunjukkan di bawah ini:

This is ApacheBench, Version 2.3 <$Revision: 1807734 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost (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
Finished 800 requests
Server Software:        Apache/2.4.29
Server Hostname:        localhost
Server Port:            80
Document Path:          /
Document Length:        10918 bytes
Concurrency Level:      300
Time taken for tests:   0.459 seconds
Complete requests:      800
Failed requests:        0
Total transferred:      8953600 bytes
HTML transferred:       8734400 bytes
Requests per second:    1743.53 [#/sec] (mean)
Time per request:       172.064 [ms] (mean)
Time per request:       0.574 [ms] (mean, across all concurrent requests)
Transfer rate:          19056.29 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    6   7.8      0      20
Processing:     8   92 124.3     44     437
Waiting:        4   92 124.4     43     437
Total:         22   98 128.9     44     453
Percentage of the requests served within a certain time (ms)
  50%     44
  66%     50
  75%     53
  80%     56
  90%    435
  95%    445
  98%    450
  99%    452
 100%    453 (longest request)

Pada output di atas, Anda dapat melihat Apache telah menangani 1743,53 permintaan per detik, dan butuh total 0,459 detik untuk melayani total permintaan.

Mari lakukan stress test lain terhadap server web Nginx Anda dan bandingkan dengan hasil Apache dengan mengirimkan 800 permintaan melalui 300 koneksi bersamaan.

ab -n 800 -c 300 http://your-domain-name/

Anda akan melihat output berikut:

This is ApacheBench, Version 2.3 <$Revision: 1807734 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost (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
Finished 800 requests
Server Software:        nginx/1.14.0
Server Hostname:        localhost
Server Port:            80
Document Path:          /
Document Length:        10918 bytes
Concurrency Level:      300
Time taken for tests:   0.184 seconds
Complete requests:      800
Failed requests:        0
Total transferred:      8930400 bytes
HTML transferred:       8734400 bytes
Requests per second:    4354.95 [#/sec] (mean)
Time per request:       68.887 [ms] (mean)
Time per request:       0.230 [ms] (mean, across all concurrent requests)
Transfer rate:          47474.91 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1   12   7.5      9      32
Processing:     5   33  12.8     30      56
Waiting:        4   26  12.9     22      49
Total:         15   46  13.6     46      70
Percentage of the requests served within a certain time (ms)
  50%     46
  66%     56
  75%     58
  80%     60
  90%     64
  95%     66
  98%     70
  99%     70
 100%     70 (longest request)

Pada output di atas, Anda dapat melihat Apache telah menangani 4354,95 permintaan per detik, dan butuh total 0,184 detik untuk melayani permintaan total.

Anda dapat melihat bahwa Nginx dapat menangani lebih banyak permintaan daripada Apache. Setelah membandingkan hasil dari kedua server, Anda akan mendapatkan ide mana yang harus dipilih untuk aplikasi web Anda.

Kesimpulan

Dalam panduan di atas, kami mempelajari cara menguji kinerja server web dengan Apache Bench. Anda sekarang dapat menjelajahi alat Apache Bench dan menjalankannya dengan berbagai opsi untuk mengukur kinerja server web Anda; coba hari ini di VPS Hosting dari Atlantic.Net!


Linux
  1. Cara mengkonfigurasi server web Apache

  2. Cara mengkonfigurasi beberapa situs web dengan server web Apache

  3. Cara menginstal Apache Web Server di Centos 8

  1. Cara Instal Apache Web Server di CentOS 7

  2. Cara menghapus server web Apache dari Ubuntu

  3. Cara Menginstal Server Web Apache di Ubuntu

  1. Cara Mengamankan Server Web Apache dengan Let's Encrypt di RHEL 8

  2. Cara menginstal server web Apache di Linux

  3. Cara Setup WordPress di Server Ubuntu dengan Apache