Ujian tekanan perisian ialah tingkah laku jaminan kualiti asas yang merupakan sebahagian daripada setiap usaha ujian perisian yang penting. Oleh itu, ujian tekanan adalah sangat penting, jadi bagaimana untuk menjalankan ujian tekanan? Dalam artikel ini, saya akan berkongsi dengan anda alat ujian tekanan yang sangat praktikal - alat ab (bangku apache saya harap ia akan membantu anda!
Tutorial video berkaitan yang disyorkan: " Berpuluh juta penyelesaian konkurensi data (amalan teori) "
Ditulis dalam Sebelumnya
Sebelum mempelajari alat ab, kita perlu memahami beberapa konsep tentang ujian tekanan
Throughput kadar (Permintaan sesaat)
Konsep: Penerangan kuantitatif tentang keupayaan pemprosesan serentak pelayan, unit ialah reqs, yang merujuk kepada bilangan permintaan yang diproses setiap unit masa untuk bilangan pengguna serentak tertentu. Bilangan maksimum permintaan yang boleh diproses setiap unit masa di bawah bilangan pengguna serentak tertentu dipanggil kadar pemprosesan maksimum.
Formula pengiraan: jumlah bilangan permintaan / masa yang dibelanjakan untuk memproses permintaan ini, iaitu
Permintaan sesaat = Permintaan lengkap / Masa yang diambil untuk ujian
Bilangan sambungan serentak
Konsep: Bilangan permintaan yang diterima oleh pelayan pada masa tertentu, secara ringkasnya, adalah satu sesi.
Bilangan pengguna serentak (Tahap Konkurensi)
Konsep: Beri perhatian kepada perbezaan antara konsep ini dan bilangan sambungan serentak mempunyai berbilang sesi pada masa yang sama, iaitu bilangan sambungan.
Purata masa menunggu permintaan pengguna (Masa setiap permintaan)
Formula pengiraan: Masa yang diluangkan untuk menyelesaikan semua permintaan / (Jumlah bilangan permintaan / Bilangan Konkurensi pengguna), iaitu
Masa setiap permintaan = Masa yang diambil untuk ujian / ( Permintaan lengkap / Tahap Konkurensi)
Purata masa menunggu permintaan pelayan (Masa setiap permintaan: merentas semua permintaan serentak)
Formula pengiraan: Masa yang diperlukan untuk melengkapkan semua permintaan / jumlah bilangan permintaan, iaitu,
Masa yang diambil untuk / ujianPermintaan lengkap
Seperti yang anda lihat, ia adalah timbal balik kadar pemprosesan .
Pada masa yang sama, ia juga = purata masa menunggu permintaan pengguna/bilangan pengguna serentak, iaitu,
Masa setiap permintaan / Tahap Keselarasan
pengenalan alat ab
nama penuh ab ialah: apache bench
ab ialah alat ujian prestasi untuk Apache Hypertext Transfer Protocol (HTTP). Hasrat reka bentuknya adalah untuk menggambarkan prestasi pelaksanaan Apache yang dipasang pada masa ini, terutamanya untuk menunjukkan bilangan permintaan sesaat yang boleh dikendalikan oleh Apache yang anda pasang.
ab ialah alat ujian tekanan apache sendiri. ab sangat praktikal. Ia bukan sahaja boleh melakukan ujian tekanan akses laman web pada pelayan apache, tetapi juga melakukan ujian tekanan pada jenis pelayan lain. Seperti nginx, tomcat, IIS, dll.
Muat turun alat ab
Masukkan laman web rasmi apache http://httpd.apache.org/ dan muat turun apache
Mulakan alat ab
Ambil laluan pemasangan apache dalam persekitaran Windows sebagai C:apacheApache24 sebagai contoh
Buka terminal dan masukkan arahan cd C:apacheApache24bin
untuk memulakan ab
Mulakan ujian
Masukkan arahanab -n 100 -c 10 http://test.com/
Di mana -n mewakili bilangan permintaan, -c mewakili bilangan konkurensi
Untuk perintah yang lain, sila lihat http://apache .jz123.cn/programs/ab.html
Analisis hasil ujian
Selepas arahan di atas dijalankan, laporan ujian akan keluar
Laporan ujian lengkap
Maklumat pelayan
Maklumat dokumen
Penunjuk penting
Concurrency Level: 100 //并发请求数 Time taken for tests: 50.872 seconds //整个测试持续的时间 Complete requests: 1000 //完成的请求数 Failed requests: 0 //失败的请求数 Total transferred: 13701482 bytes //整个场景中的网络传输量 HTML transferred: 13197000 bytes //整个场景中的HTML内容传输量 Requests per second: 19.66 [#/sec] (mean) //吞吐率,大家最关心的指标之一,相当于 LR 中的每秒事务数,后面括号中的 mean 表示这是一个平均值 Time per request: 5087.180 [ms] (mean) //用户平均请求等待时间,大家最关心的指标之二,相当于 LR 中的平均事务响应时间,后面括号中的 mean 表示这是一个平均值 Time per request: 50.872 [ms] (mean, across all concurrent requests) //服务器平均请求处理时间,大家最关心的指标之三 Transfer rate: 263.02 [Kbytes/sec] received //平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
Masa penggunaan rangkaian
Status respons
Soalan tentang log masuk
Kadangkala ujian tekanan memerlukan pengguna log masuk, apakah yang perlu saya lakukan?
Sila rujuk langkah berikut:
Selepas log masuk dengan akaun dan kata laluan anda, gunakan alat pembangun untuk mencari nilai kuki (ID Sesi) yang mengenal pasti sesi ini dan tulis turun
Jika anda hanya menggunakan satu Kuki, taip sahaja arahan: ab -n 100 -C key=value http://test.com/
Jika anda memerlukan berbilang Kuki, tetapkan Pengepala terus: ab -n 100 -H “Cookie: Key1=Value1; Key2=Value2” http://test.com/
Ringkasan
Secara amnya, alat ab ab adalah kecil dan mudah, dan ia cepat untuk bermula dan belajar Ia boleh memberikan Penunjuk prestasi asas diperlukan, tetapi tiada hasil grafik dan tidak boleh dipantau. Oleh itu alat ab boleh digunakan untuk tugas kecemasan sementara dan ujian mudah.
Jenis alat ujian tekanan yang sama termasuk: webbench, pengepungan, http_load, dll.
Pembelajaran yang disyorkan: tutorial nginx
Atas ialah kandungan terperinci Sangat praktikal! Kongsi artifak ujian tekanan: alat ab. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!