Difference between revisions of "Melakukan Stress Test Web Server menggunakan Siege"

From OnnoWiki
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 53: Line 53:
 
  http://192.168.0.1:8081/wiktionary_id_all_novid_2018-07/A%2fki%c3%aan%2dkap%2dkut%2ehtml
 
  http://192.168.0.1:8081/wiktionary_id_all_novid_2018-07/A%2fki%c3%aan%2dkap%2dkut%2ehtml
  
 
+
[[File:Siege-Availability.png|center|200px|thumb|Figure 1. Internet-Offline System Availability (%)]]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 1. Internet-Offline System Availability (%)
 
  
 
Figure 1. menunjukkan Availability (%) pada saat dilakukan stress test pada sistem menggunakan Siege. Di atas 20 klien secara simultan menggunakan sistem akan menurunkan availability RaspberryPi3. Penurunan availability mini PC Asus mulai muncul di sekitar 20 klien, dan penurunan lebih parah setelah lebih dari 80 klien secara bersamaan. Mesin mesin virtual i5 tampaknya jauh lebih tahan dan mampu menahan beban lebih dari 150 klien dengan hanya sedikit penurunan availability.
 
Figure 1. menunjukkan Availability (%) pada saat dilakukan stress test pada sistem menggunakan Siege. Di atas 20 klien secara simultan menggunakan sistem akan menurunkan availability RaspberryPi3. Penurunan availability mini PC Asus mulai muncul di sekitar 20 klien, dan penurunan lebih parah setelah lebih dari 80 klien secara bersamaan. Mesin mesin virtual i5 tampaknya jauh lebih tahan dan mampu menahan beban lebih dari 150 klien dengan hanya sedikit penurunan availability.
  
 
+
[[File:Siege-hits.png|center|200px|thumb|Figure 2. Hit pada Internet-Offline system]]
Figure 2. Hit pada Internet-Offline system
 
  
 
Figure 2. menunjukkan klik yang diterima seiring dengan bertambahnya jumlah klien. RaspberryPi3 hanya dapat menerima hit terendah, sekitar 1000-1500 hit, di antara empat (4) sistem. Sedangkan Asus Mini PC dapat menerima hit, sekitar 9.000-10.000 hit. Mesin i5 dapat menerima di atas 15000 hingga 25000 hit, sekitar 25 kali kemampuan RaspberryPi3. Sistem dengan empat core mampu menerima, sekitar 20%, hit lebih tinggi dibandingkan dengan mesin single core.
 
Figure 2. menunjukkan klik yang diterima seiring dengan bertambahnya jumlah klien. RaspberryPi3 hanya dapat menerima hit terendah, sekitar 1000-1500 hit, di antara empat (4) sistem. Sedangkan Asus Mini PC dapat menerima hit, sekitar 9.000-10.000 hit. Mesin i5 dapat menerima di atas 15000 hingga 25000 hit, sekitar 25 kali kemampuan RaspberryPi3. Sistem dengan empat core mampu menerima, sekitar 20%, hit lebih tinggi dibandingkan dengan mesin single core.
  
 
+
[[File:Siege-Successful-transaction.png|center|200px|thumb|Figure 3. Successful transaction saat Siege Web Stress]]
 
 
Figure 3. Successful transaction saat Siege Web Stress
 
  
 
Figure 3. menunjukkan transaksi yang berhasil ditangani oleh sistem; itu cukup mirip dengan karakteristik hit yang diterima oleh sistem. RaspberryPi3 hanya mampu menangani sekitar 700-900 transaksi. Asus Mini PC dapat menangani 3000-4000 transaksi dengan baik. Mesin virtual i5 dapat menangani transaksi yang lebih tinggi, sekitar 6000-8000 transaksi. Dengan demikian, RaspberryPi3 hanya mampu memenuhi 10% dan 20% kemampuan masing-masing i5 dan Asus Mini PC. Sistem dengan empat core  mampu menerima, sekitar 20%, transaksi sukses yang lebih tinggi dibandingkan dengan mesin single core.
 
Figure 3. menunjukkan transaksi yang berhasil ditangani oleh sistem; itu cukup mirip dengan karakteristik hit yang diterima oleh sistem. RaspberryPi3 hanya mampu menangani sekitar 700-900 transaksi. Asus Mini PC dapat menangani 3000-4000 transaksi dengan baik. Mesin virtual i5 dapat menangani transaksi yang lebih tinggi, sekitar 6000-8000 transaksi. Dengan demikian, RaspberryPi3 hanya mampu memenuhi 10% dan 20% kemampuan masing-masing i5 dan Asus Mini PC. Sistem dengan empat core  mampu menerima, sekitar 20%, transaksi sukses yang lebih tinggi dibandingkan dengan mesin single core.
  
 
+
[[File:Siege-Transaction-Rate.png|center|200px|thumb|Figure 4. Transaction Rate saat Siege Web Stress]]
 
 
Figure 4. Transaction Rate saat Siege Web Stress
 
  
 
Figure 4. menunjukkan tingkat transaksi, dalam transaksi per detik, untuk banyak klien yang membebani sistem. RaspberryPi3 hanya mampu menangani sekitar 20-30 transaksi per detik. Asus Mini PC dapat menangani 5-6 kali dibandingkan dengan RaspberryPi3 untuk lebih dari 150 transaksi per detik. Mesin i5 mampu menangani beban yang jauh lebih tinggi hingga sekitar 250-400 transaksi per detik atau sepuluh kali lebih tinggi dari RaspberryPi3. Sistem empat core dapat melayani, sekitar 20%, tingkat transaksi yang lebih tinggi dibandingkan dengan mesin single core.
 
Figure 4. menunjukkan tingkat transaksi, dalam transaksi per detik, untuk banyak klien yang membebani sistem. RaspberryPi3 hanya mampu menangani sekitar 20-30 transaksi per detik. Asus Mini PC dapat menangani 5-6 kali dibandingkan dengan RaspberryPi3 untuk lebih dari 150 transaksi per detik. Mesin i5 mampu menangani beban yang jauh lebih tinggi hingga sekitar 250-400 transaksi per detik atau sepuluh kali lebih tinggi dari RaspberryPi3. Sistem empat core dapat melayani, sekitar 20%, tingkat transaksi yang lebih tinggi dibandingkan dengan mesin single core.
  
 
+
[[File:Siege-Concurrency.png|center|200px|thumb|Figure 5. Concurrency saat Siege Web Stress]]
 
 
Figure 5. Concurrency saat Siege Web Stress
 
  
 
Figure 5. menunjukkan kemampuan konkurensi sistem dalam menangani beban klien. Semua sistem mampu memenuhi konkurensi menjadi sama dengan jumlah klien hingga 20 klien yang mengakses. Pada 30 klien, konkurensi RaspberryPi3 dan Asus Mini PC menjadi rata, tidak mampu mengimbangi jumlah klien yang mengakses. Pada 50 klien, mesin virtual i5 tidak lagi mampu mengimbangi jumlah klien yang mengakses. Namun, konkurensi mesin virtual i5 agak menurun tetapi tidak datar dan mencoba mengikuti jumlah klien yang mengakses.
 
Figure 5. menunjukkan kemampuan konkurensi sistem dalam menangani beban klien. Semua sistem mampu memenuhi konkurensi menjadi sama dengan jumlah klien hingga 20 klien yang mengakses. Pada 30 klien, konkurensi RaspberryPi3 dan Asus Mini PC menjadi rata, tidak mampu mengimbangi jumlah klien yang mengakses. Pada 50 klien, mesin virtual i5 tidak lagi mampu mengimbangi jumlah klien yang mengakses. Namun, konkurensi mesin virtual i5 agak menurun tetapi tidak datar dan mencoba mengikuti jumlah klien yang mengakses.
  
 
+
[[File:Siege-Fail-transactions.png|center|200px|thumb|Figure 6. Fail transaction saat Siege Web Stress]]
 
 
Figure 6. Fail transaction saat Siege Web Stress
 
  
 
Gambar 6. menunjukkan transaksi yang gagal sebagai fungsi dari jumlah klien yang mengakses sistem. Di RaspberryPi dan Asus Mini PC, kegagalan transaksi mulai muncul setelah 30 klien mengakses sistem. Pada 40 klien, transaksi gagal meningkat drastis. Menariknya, mesin i5 mampu menangani transaksi dengan cukup baik dengan transaksi gagal di bawah lima hingga di atas 100 klien.
 
Gambar 6. menunjukkan transaksi yang gagal sebagai fungsi dari jumlah klien yang mengakses sistem. Di RaspberryPi dan Asus Mini PC, kegagalan transaksi mulai muncul setelah 30 klien mengakses sistem. Pada 40 klien, transaksi gagal meningkat drastis. Menariknya, mesin i5 mampu menangani transaksi dengan cukup baik dengan transaksi gagal di bawah lima hingga di atas 100 klien.
  
 
+
[[File:Siege-Longest-Transaction.png|center|200px|thumb|Figure 7. Longest Transaction saat Siege Web Stress]]
 
 
Figure 7. Longest Transaction saat Siege Web Stress
 
  
 
Gambar 7. menampilkan transaksi terpanjang saat stress test pada sistem. Semua sistem tampaknya menangani beban dengan benar untuk 20 klien. RaspberryPi3 dan Asus Mini PC menunjukkan lompatan dalam transaksi terlama setelah 30 dan lebih banyak klien memuat. Mesin virtual i5 mengalami peningkatan signifikan dalam transaksi terlama setelah memuat lebih dari 50 klien.
 
Gambar 7. menampilkan transaksi terpanjang saat stress test pada sistem. Semua sistem tampaknya menangani beban dengan benar untuk 20 klien. RaspberryPi3 dan Asus Mini PC menunjukkan lompatan dalam transaksi terlama setelah 30 dan lebih banyak klien memuat. Mesin virtual i5 mengalami peningkatan signifikan dalam transaksi terlama setelah memuat lebih dari 50 klien.
  
 
+
[[File:Siege-responds-time.png|center|200px|thumb|Figure 8. Responds Time (detik) saat Siege Web Stress]]
Figure 8. Responds Time (detik) saat Siege Web Stress
 
  
 
Gambar 8. menunjukkan waktu respon dalam ms untuk transaksi yang masuk sebagai fungsi dari jumlah klien. RaspberryPi menunjukkan peningkatan linear dalam waktu respons sebagai fungsi dari jumlah klien, dari satu klien hingga sekitar 20 klien. Di atas 20 klien, waktu respons RaspberryPi3 tampaknya tidak stabil. Mesin mini PC dan Asus i5 tampaknya cukup tahan terhadap permintaan tes stres transaksi dan dapat menahan waktu respons di bawah 0,4 detik hingga 100 klien.
 
Gambar 8. menunjukkan waktu respon dalam ms untuk transaksi yang masuk sebagai fungsi dari jumlah klien. RaspberryPi menunjukkan peningkatan linear dalam waktu respons sebagai fungsi dari jumlah klien, dari satu klien hingga sekitar 20 klien. Di atas 20 klien, waktu respons RaspberryPi3 tampaknya tidak stabil. Mesin mini PC dan Asus i5 tampaknya cukup tahan terhadap permintaan tes stres transaksi dan dapat menahan waktu respons di bawah 0,4 detik hingga 100 klien.
Line 109: Line 89:
 
Table: Perbandingan Kinerja LAN dan direct bridge saat Siege Web Stress
 
Table: Perbandingan Kinerja LAN dan direct bridge saat Siege Web Stress
  
 +
{| border="1" cellpadding=2 style="border-collapse: collapse"
 +
!
 +
! ave. hits
 +
! ave.transaction/sec
 +
! ave. successful transactions
 +
! ave. fail transactions
 +
|-
 +
| 1 core LAN
 +
| 15304
 +
| 255
 +
| 5300
 +
| 14.8
 +
|-
 +
| 1 core nolan
 +
| 17235
 +
| 287
 +
| 6084
 +
| 1.4
 +
|-
 +
| 4 core LAN
 +
| 19429
 +
| 342
 +
| 6711
 +
| 14.1
 +
|-
 +
| 4 core nolan
 +
| 22365
 +
| 373
 +
| 7844
 +
| 4.7
 +
|}
  
 +
Ini menunjukkan bahwa mesin virtual dengan sambungan bridging secara langsung memiliki kinerja yang lebih tinggi dan lebih sedikit transaksi yang gagal. Kinerja yang lebih tinggi juga diamati pada mesin dengan jumlah core yang lebih banyak.
  
ave. hits
 
average
 
transaction/sec
 
ave.
 
successful
 
transactions
 
ave. fail
 
transactions
 
1 core LAN
 
15304
 
255
 
5300
 
14.8
 
1 core nolan
 
17235
 
287
 
6084
 
1.4
 
4 core LAN
 
19429
 
342
 
6711
 
14.1
 
4 core nolan
 
22365
 
373
 
7844
 
4.7
 
  
  
Ini menunjukkan bahwa mesin virtual dengan sambungan bridging secara langsung memiliki kinerja yang lebih tinggi dan lebih sedikit transaksi yang gagal. Kinerja yang lebih tinggi juga diamati pada mesin dengan jumlah core yang lebih banyak.
+
==Pranala Menarik==
 +
 
 +
* [[BENCHMARKING: mengukur kemampuan system]]
 +
* [[Mengukur packet per second]]
 +
* [[Mengukur Bandwidth]]
 +
* [[mengukur SQL - menggunakan mysqlslap]]
 +
* [[Menggunakan mysqlslap number-of-query]]
 +
* [[Menggunakan mysqlslap iterations]]
 +
* [[Menggunakan mysqlslap custom queries]]
 +
* [[Menggunakan mysqlslap untuk membandingkan Engine]]
 +
* [[Mengukur kinerja OS dengan unixbench]]
 +
* [[Mengukur Kinerja Apache Web Server]]
 +
* [[Melakukan Stress Test Web Server menggunakan Siege]]
 +
* [[Mengukur Kinerja File Sharing menggunakan dbench]]
 +
* [[Konsumsi Daya RaspberryPi3]]
 +
* [[Internet OFFLINE sebagai solusi bagi sekolah di Pedesaan dan Rural]]
 +
* [[Beberapa Diskusi Hasil Pengukuran]]
 +
* [[Internet Offline: Modul Training]]

Latest revision as of 18:13, 22 November 2021

Untuk menguji batas kinerja web, Siege digunakan. Siege adalah uji regresi open source dan utilitas benchmark. Siege dikonfigurasi untuk membaca banyak URL ke dalam memori dan secara bersamaan melakukan stress terhadap sistem. Program melaporkan jumlah total hit yang direkam, byte yang ditransfer, waktu response, konkurensi, dan status pengembalian. Dalam pengujian, Siege menjalankan berbagai klien secara bersamaan, untuk menekankan berbagai URL di server web wiki. Tes stres dilakukan ke Wikipedia mirror dalam waktu 60 detik.

Kiwix adalah aplikasi agar wikipedia dapat di akses secara offline. Kita dapat mengukur kinerja Kiwix menggunakan siege. Untuk memudahkan proses pengukuran sebaiknya kita membuat script untuk menyalakan atau mematikan Kiwix pada server yang akan diukur, misalnya sebagai berikut,

kiwix-on.sh
echo 123456 | sudo -S killall kiwix-serve
echo 123456 | sudo -S killall kiwix-serve
echo 123456 | sudo -S killall kiwix-serve
echo 123456 | sudo -S killall kiwix-serve
cd /usr/local/src/kiwix-0.10-x86_84/bin/
/usr/local/src/kiwix-0.10-x86_84/bin/kiwix-serve --port=8080 /usr/local/src/kiwix-0.10-x86_84/bin/wikipedia_id_all_novid_2018-07.zim &
/usr/local/src/kiwix-0.10-x86_84/bin/kiwix-serve --port=8081 /usr/local/src/kiwix-0.10-x86_84/bin/wiktionary_id_all_novid_2018-07.zim &


kiwix-off.sh
echo 123456 | sudo -S killall kiwix-serve
echo 123456 | sudo -S killall kiwix-serve
echo 123456 | sudo -S killall kiwix-serve
echo 123456 | sudo -S killall kiwix-serve

Instalasi Siege sangat mudah menggunakan perintah berikut,

sudo su
apt update
apt -y install siege

Agar siege dapat berjalan dengan mudah, sebaiknya kita juga membuat sebuah file yang berisi URL kiwix yang akan digunakan saat siege mengukur kiwix sebagai berikut (misalnya menggunakan vi),

vi ~/.siege/url-192.168.0.1.txt

Isi file,

http://192.168.0.1:8080/wikipedia_id_all_novid_2018-07/
http://192.168.0.1:8080/search?content=wikipedia_id_all_novid_2018-07&pattern=Onno+W.+Purbo
http://192.168.0.1:8080/skin/jquery-ui/jquery-ui.min.js
http://192.168.0.1:8080/wikipedia_id_all_novid_2018-07/A/Onno_W._Purbo.html
http://192.168.0.1:8080/wikipedia_id_all_novid_2018-07/A/Daerah_Khusus_Ibukota_Jakarta.html
http://192.168.0.1:8080/wikipedia_id_all_novid_2018-07/A/Lambang_Daerah_Khusus_Ibukota_Jakarta.html
http://192.168.0.1:8080/wikipedia_id_all_novid_2018-07/A/Kiwix.html
http://192.168.0.1:8080/wikipedia_id_all_novid_2018-07/A/Perangkat_lunak_bebas.html
http://192.168.0.1:8080/wikipedia_id_all_novid_2018-07/A/Richard_Stallman.html
http://192.168.0.1:8080/wikipedia_id_all_novid_2018-07/A/Indonesia.html
http://192.168.0.1:8080/wikipedia_id_all_novid_2018-07/A/Matematika.html
http://192.168.0.1:8080/wikipedia_id_all_novid_2018-07/A/Ilmu_fisik.html
http://192.168.0.1:8080/wikipedia_id_all_novid_2018-07/A/Reaksi_asam_basa.html
http://192.168.0.1:8080/wikipedia_id_all_novid_2018-07/A/Asam.html
http://192.168.0.1:8080/wikipedia_id_all_novid_2018-07/A/Biologi.html
http://192.168.0.1:8080/wikipedia_id_all_novid_2018-07/A/Organisme.html
http://192.168.0.1:8081/wiktionary_id_all_novid_2018-07/
http://192.168.0.1:8081/wiktionary_id_all_novid_2018-07/A/bahasa_Indonesia.html
http://192.168.0.1:8081/wiktionary_id_all_novid_2018-07/A%2fki%c3%aan%2dkap%2dkut%2ehtml
Figure 1. Internet-Offline System Availability (%)

Figure 1. menunjukkan Availability (%) pada saat dilakukan stress test pada sistem menggunakan Siege. Di atas 20 klien secara simultan menggunakan sistem akan menurunkan availability RaspberryPi3. Penurunan availability mini PC Asus mulai muncul di sekitar 20 klien, dan penurunan lebih parah setelah lebih dari 80 klien secara bersamaan. Mesin mesin virtual i5 tampaknya jauh lebih tahan dan mampu menahan beban lebih dari 150 klien dengan hanya sedikit penurunan availability.

Figure 2. Hit pada Internet-Offline system

Figure 2. menunjukkan klik yang diterima seiring dengan bertambahnya jumlah klien. RaspberryPi3 hanya dapat menerima hit terendah, sekitar 1000-1500 hit, di antara empat (4) sistem. Sedangkan Asus Mini PC dapat menerima hit, sekitar 9.000-10.000 hit. Mesin i5 dapat menerima di atas 15000 hingga 25000 hit, sekitar 25 kali kemampuan RaspberryPi3. Sistem dengan empat core mampu menerima, sekitar 20%, hit lebih tinggi dibandingkan dengan mesin single core.

Figure 3. Successful transaction saat Siege Web Stress

Figure 3. menunjukkan transaksi yang berhasil ditangani oleh sistem; itu cukup mirip dengan karakteristik hit yang diterima oleh sistem. RaspberryPi3 hanya mampu menangani sekitar 700-900 transaksi. Asus Mini PC dapat menangani 3000-4000 transaksi dengan baik. Mesin virtual i5 dapat menangani transaksi yang lebih tinggi, sekitar 6000-8000 transaksi. Dengan demikian, RaspberryPi3 hanya mampu memenuhi 10% dan 20% kemampuan masing-masing i5 dan Asus Mini PC. Sistem dengan empat core mampu menerima, sekitar 20%, transaksi sukses yang lebih tinggi dibandingkan dengan mesin single core.

Figure 4. Transaction Rate saat Siege Web Stress

Figure 4. menunjukkan tingkat transaksi, dalam transaksi per detik, untuk banyak klien yang membebani sistem. RaspberryPi3 hanya mampu menangani sekitar 20-30 transaksi per detik. Asus Mini PC dapat menangani 5-6 kali dibandingkan dengan RaspberryPi3 untuk lebih dari 150 transaksi per detik. Mesin i5 mampu menangani beban yang jauh lebih tinggi hingga sekitar 250-400 transaksi per detik atau sepuluh kali lebih tinggi dari RaspberryPi3. Sistem empat core dapat melayani, sekitar 20%, tingkat transaksi yang lebih tinggi dibandingkan dengan mesin single core.

Figure 5. Concurrency saat Siege Web Stress

Figure 5. menunjukkan kemampuan konkurensi sistem dalam menangani beban klien. Semua sistem mampu memenuhi konkurensi menjadi sama dengan jumlah klien hingga 20 klien yang mengakses. Pada 30 klien, konkurensi RaspberryPi3 dan Asus Mini PC menjadi rata, tidak mampu mengimbangi jumlah klien yang mengakses. Pada 50 klien, mesin virtual i5 tidak lagi mampu mengimbangi jumlah klien yang mengakses. Namun, konkurensi mesin virtual i5 agak menurun tetapi tidak datar dan mencoba mengikuti jumlah klien yang mengakses.

Figure 6. Fail transaction saat Siege Web Stress

Gambar 6. menunjukkan transaksi yang gagal sebagai fungsi dari jumlah klien yang mengakses sistem. Di RaspberryPi dan Asus Mini PC, kegagalan transaksi mulai muncul setelah 30 klien mengakses sistem. Pada 40 klien, transaksi gagal meningkat drastis. Menariknya, mesin i5 mampu menangani transaksi dengan cukup baik dengan transaksi gagal di bawah lima hingga di atas 100 klien.

Figure 7. Longest Transaction saat Siege Web Stress

Gambar 7. menampilkan transaksi terpanjang saat stress test pada sistem. Semua sistem tampaknya menangani beban dengan benar untuk 20 klien. RaspberryPi3 dan Asus Mini PC menunjukkan lompatan dalam transaksi terlama setelah 30 dan lebih banyak klien memuat. Mesin virtual i5 mengalami peningkatan signifikan dalam transaksi terlama setelah memuat lebih dari 50 klien.

Figure 8. Responds Time (detik) saat Siege Web Stress

Gambar 8. menunjukkan waktu respon dalam ms untuk transaksi yang masuk sebagai fungsi dari jumlah klien. RaspberryPi menunjukkan peningkatan linear dalam waktu respons sebagai fungsi dari jumlah klien, dari satu klien hingga sekitar 20 klien. Di atas 20 klien, waktu respons RaspberryPi3 tampaknya tidak stabil. Mesin mini PC dan Asus i5 tampaknya cukup tahan terhadap permintaan tes stres transaksi dan dapat menahan waktu respons di bawah 0,4 detik hingga 100 klien.

Sangat menarik untuk dicatat bahwa interface jaringan membatasi kinerja mesin virtual i5. Tabel berikut menunjukkan klik rata-rata, tingkat transaksi rata-rata, transaksi sukses rata-rata, dan transaksi gagal rata-rata untuk mesin virtual inti tunggal dan empat inti dengan LAN dan penghubung langsung dengan klien di host yang sama.

Table: Perbandingan Kinerja LAN dan direct bridge saat Siege Web Stress

ave. hits ave.transaction/sec ave. successful transactions ave. fail transactions
1 core LAN 15304 255 5300 14.8
1 core nolan 17235 287 6084 1.4
4 core LAN 19429 342 6711 14.1
4 core nolan 22365 373 7844 4.7

Ini menunjukkan bahwa mesin virtual dengan sambungan bridging secara langsung memiliki kinerja yang lebih tinggi dan lebih sedikit transaksi yang gagal. Kinerja yang lebih tinggi juga diamati pada mesin dengan jumlah core yang lebih banyak.


Pranala Menarik