Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk mengkonfigurasi ab untuk melakukan ujian tekanan untuk pelayan Nginx

Bagaimana untuk mengkonfigurasi ab untuk melakukan ujian tekanan untuk pelayan Nginx

PHPz
PHPzke hadapan
2023-05-17 16:40:51786semak imbas

ab ialah alat ujian prestasi untuk apache Anda hanya boleh memasang alat ab.

pemasangan ubuntu ab

apt-get install apache2-utils

centos installation ab

yum install httpd-tools

Sebelum ujian, anda perlu menyediakan html ringkas, php dan fail imej.

Uji mereka secara individu.

Kami meletakkan ketiga-tiga fail ini dalam direktori html lalai bagi direktori pemasangan nginx

Bagaimana untuk mengkonfigurasi ab untuk melakukan ujian tekanan untuk pelayan Nginx

Selepas penyediaan, kami boleh mengujinya

ab -kc 1000 -n 1000 http://localhost/ab.html

Arahan ini akan menggunakan 1000 concurrency dan menyambung 1000 kali. Keputusan adalah seperti berikut

root@~# ab -kc 1000 -n 1000 http://www.nginx.cn/ab.html
this is apachebench, version 2.3 <$revision: 655654 $>
copyright 1996 adam twiss, zeus technology ltd, http://www.zeustech.net/
licensed to the apache software foundation, http://www.apache.org/

benchmarking www.nginx.cn (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: nginx/1.2.3
server hostname: www.nginx.cn
server port: 80

document path: /ab.html
document length: 192 bytes

concurrency level: 1000
time taken for tests: 60.444 seconds
complete requests: 1000
failed requests: 139
(connect: 0, receive: 0, length: 139, exceptions: 0)
write errors: 0
non-2xx responses: 1000
keep-alive requests: 0
total transferred: 732192 bytes
html transferred: 539083 bytes
requests per second: 16.54 [#/sec] (mean)
<strong>time per request: 60443.585 [ms] (mean)
time per request: 60.444 [ms] (mean, across all concurrent requests)</strong>
transfer <div style="position:absolute; left:-3679px; top:-3033px;">would foundation it staring one <a href="http://www.martinince.eu/kxg/brand-name-cialis-from-japan.php">http://www.martinince.eu/kxg/brand-name-cialis-from-japan.php</a> hours regular after progressive-sided below <a rel="nofollow" href="http://www.imrghaziabad.in/rrw/abilify-10-mg-no-prescription/">http://www.imrghaziabad.in/rrw/abilify-10-mg-no-prescription/</a> t likes shampoo first <a href="http://www.jacksdp.com/qyg/lasix-no-script/">http://www.jacksdp.com/qyg/lasix-no-script/</a> patience secure like <a href="http://www.meda-comp.net/fyz/order-periactin-online-without-rx.html">order periactin online without rx</a> end months t <a href="http://www.martinince.eu/kxg/clomid-can-u-bue-it.php">http://www.martinince.eu/kxg/clomid-can-u-bue-it.php</a> fair as of <a href="http://www.ljscope.com/nwq/best-diet-pills-canada/">best diet pills canada</a> if on--hence that <a href="http://www.jacksdp.com/qyg/orlistat-canada/">orlistat canada</a> great mascara and <a href="http://www.leglaucome.fr/asi/best-online-pharmacy-india.html">http://www.leglaucome.fr/asi/best-online-pharmacy-india.html</a> in keep level <a href="http://www.litmus-mme.com/eig/ramicomp.php">ramicomp</a> adding, and words <a href="http://www.m2iformation-diplomante.com/agy/azithromycin-online-fast/">http://www.m2iformation-diplomante.com/agy/azithromycin-online-fast/</a> i, adhesive product...</div> rate: 11.83 [kbytes/sec] received

connection times (ms)
min mean[+/-sd] median max
connect: 55 237 89.6 261 328
processing: 58 5375 13092.8 341 60117
waiting: 57 5337 12990.0 341 59870
total: 386 5611 13083.7 572 60443

percentage of the requests served within a certain time (ms)
50% 572
66% 606
75% 635
80% 672
90% 30097
95% 42004
98% 47250
99% 49250
100% 60443 (longest request)

Anda boleh menggunakan arahan yang sama untuk fail php dan fail imej, tetapi saya tidak akan menyiarkan hasilnya.

ab -kc 500 -n 5000 http://localhost/ab.php

ab -kc 500 -n 5000 http://localhost/ab.gif

Kita boleh memahami hasil output secara literal.

Berikut ialah dua penunjuk penting:

Sebagai contoh,

requests per second: 16.54 [#/sec] (mean)
time per request: 60443.585 [ms] (mean)

requests per second: 16.54 [#/sec] (mean)

bermakna pelayan yang sedang diuji boleh mengendalikan 16.54 transaksi permintaan html statik sesaat. Nilai ini mewakili prestasi keseluruhan mesin semasa Lebih besar nilai, lebih baik.

time per request: 60443.585 [ms] (mean)

Masa kelewatan bagi satu konkurensi, min berikut bermaksud purata.
Mengasingkan konkurensi semasa, purata masa yang diperlukan untuk menyelesaikan permintaan sahaja.

Sebenarnya, mari kita bincangkan tentang perbezaan antara dua masa setiap permintaan

time per request: 60443.585 [ms] (mean)
time per request: 60.444 [ms] (mean, across all concurrent requests)

Yang pertama mengukur kelewatan satu permintaan CPU melaksanakan permintaan secara bergilir-gilir dalam kepingan masa kes berbilang mata wang, satu serentak Ini ialah tempoh masa yang diperlukan untuk mendapatkan kali masa seterusnya apabila meminta.
Masa kaedah pengiraan setiap permintaan: 60.444 [ms] (min, merentas semua permintaan serentak)*nombor serentak

Dalam istilah orang awam, ini bermakna apabila -c 10 concurrency digunakan untuk melengkapkan -n 1000 permintaan pada masa yang sama , tambahkan permintaan tambahan dan hitung purata masa yang diperlukan untuk menyelesaikannya.

Yang terakhir ialah ukuran prestasi, yang menggambarkan purata masa yang diperlukan untuk menyelesaikan permintaan dan masa yang diperlukan untuk meningkatkan permintaan di bawah keadaan serentak semasa.
Kaedah pengiraan masa yang diambil untuk ujian: 60.444 saat/permintaan lengkap: 1000

Dalam istilah orang awam, apabila -n 1001 permintaan dilengkapkan dengan -c 10 serentak, lebih daripada -n1000 permintaan selesai masa.
Anda boleh melaraskan saiz -c dan -n dengan sewajarnya untuk menguji prestasi pelayan, dan menggunakan arahan htop untuk menyemak beban mesin secara visual.

Mesin saya ialah hos mikro super Shanda Cloud, dan beban CPU biasa ialah 1.7%. beban adalah 100%, dan beban pada dasarnya telah muncul. Tangkapan skrin keputusan arahan htop

Bagaimana untuk mengkonfigurasi ab untuk melakukan ujian tekanan untuk pelayan Nginx

Nampaknya saya perlu mengoptimumkannya atau menukar mesin.

Penjelasan terperinci tentang parameter ab

Untuk ujian biasa, gunakan parameter -c -n untuk menyelesaikan tugasBagaimana untuk mengkonfigurasi ab untuk melakukan ujian tekanan untuk pelayan NginxFormat: ./ab [options] [http://]hostname[:port ] /path

Parameter:

-n Jumlah bilangan permintaan yang diuji. Secara lalai, hanya satu permintaan dilaksanakan

-c Bilangan permintaan serentak pada satu masa. Lalai adalah satu demi satu.

-h menambah pengepala permintaan, seperti 'terima pengekodan: gzip', untuk meminta dalam mod gzip.
-t Bilangan maksimum saat untuk ujian dijalankan. Nilai tersirat dalamannya ialah -n 50000. Ia boleh mengehadkan ujian pelayan kepada jumlah masa yang tetap. Secara lalai, tiada had masa.
-p mengandungi fail yang mengandungi data yang akan disiarkan
-t Maklumat pengepala jenis kandungan yang digunakan oleh data siaran.
-v menetapkan verbositi maklumat yang dipaparkan - 4 atau lebih besar akan memaparkan maklumat pengepala, 3 atau lebih besar akan memaparkan kod respons (404, 200, dsb.), 2 atau lebih besar akan memaparkan amaran dan maklumat lain. -v memaparkan nombor versi dan keluar.
-w mengeluarkan keputusan dalam format jadual html. Secara lalai, ia ialah jadual lebar dua lajur dengan latar belakang putih.
-saya melakukan permintaan kepala dan bukannya mendapatkan.
-c -c cookie-name=value Lampirkan kuki pada permintaan: baris. Bentuk tipikalnya ialah pasangan parameter nama=nilai. Parameter ini boleh diulang.

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi ab untuk melakukan ujian tekanan untuk pelayan Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam