Analysieren von AB-Leistungstestergebnissen unter Apache

Analysieren von AB-Leistungstestergebnissen unter Apache

Ich habe immer Loadrunner für Leistungstests verwendet. Loadrunner ist eigentlich ein sehr umfangreiches Leistungstesttool. Es verfügt über umfassende Funktionen und ist ein sehr gutes Fleischermesser.

Wenn wir nur einen einfachen Leistungstest auf einer Seite durchführen müssen, ist die Verwendung von Loadruner keine gute Wahl.

Also habe ich mir ein kleines Messer besorgt – zum Ausprobieren. Dieses Messer ist wirklich leicht und scharf. Hier werde ich einige meiner Erkenntnisse zum AB-Testverfahren zu Ihrer Information aufzeichnen.

Nehmen wir als Beispiel die Homepage von Baidu. Zunächst einmal müssen Sie ein Messer haben, d. h. Apache installieren. Es gibt viele Tutorials im Internet, daher werde ich sie nicht wiederholen. In diesem Artikel wird zum Testen der mit dem MacBook gelieferte ab-Befehl verwendet.

Testszenario: Simulieren Sie 10 Benutzer und initiieren Sie insgesamt 100 Anfragen an die Baidu-Homepage.

Testbefehl: ab -n 100 -c 10 https://www.baidu.com/index.html

In diesem Artikel wird hauptsächlich der Testbericht von ab analysiert. Ich werde an einem anderen Tag einen neuen Beitrag eröffnen, um die Verwendung von ab zu besprechen.

Testbericht:

Lassen Sie mich mein Verständnis Zeile für Zeile erklären. Für die folgenden Anmerkungen habe ich Online-Materialien zu Rate gezogen, aber der Inhalt wurde nach meinem eigenen Verständnis handschriftlich abgetippt. Ich hoffe, dass mein eigenes Verständnis es den Lesern leichter macht, es zu verstehen.

bogon:~ tang$ ab -n 100 -c 10 https://www.baidu.com/index.html

Dies ist ApacheBench, Version 2.3 <$Revision: 1706008 $>

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Lizenziert an die Apache Software Foundation, http://www.apache.org/

//以上為apache的版本信息,與本次測試無關

Benchmarking www.baidu.com (seien Sie geduldig) … erledigt

//以上內容顯示測試完成度,本次測試發起請求數量較少,完成較快,無中間過程顯示。在請求數量很多時會分行顯示當前完成數量。

Serversoftware: bfe/1.0.8.14 //被測試的服務器所用的軟件信息,這里使用的是百度自己開發的反向代理Baidu Front End,類似nginx。

Server-Hostname: www.baidu.com //被測主機名

Server-Port: 443 //被測主機的服務端口號,一般http請求的默認端口號是80,https默認使用443端口

SSL/TLS-Protokoll: TLSv1.2,ECDHE-RSA-AES128-GCM-SHA256,2048,128 //加密協議

Dokumentpfad: /index.html //請求的具體文件

Dokumentlänge: 227 Bytes //請求的文件index.html大小

Parallelitätsstufe: 10 //并發級別,也就是并發數,請求中-c參數指定的數量

/本次測試總共花費的時間

Abgeschlossene Anfragen: 100 //本次測試總共發起的請求數量

//失敗的請求數量。因網絡原因或服務器性能原因,發起的請求并不一定全部成功,通過該數值和Complete requests相除可以計算請求的失敗率,作為測試結果的重要參考。

//總共傳輸的數據量,指的是ab從被測服務器接收到的總數據量,包括index.html的文本內容和請求頭信息。

Übertragenes HTML: 22700 Byte //從服務器接收到的index.html文件的總大小,等于Document Length*Complete requests=227bytes*100=22700 bytes

Anfragen pro Sekunde: 91,50 [#/sec] (Mittelwert) //平均(mean)每秒完成的請求數:QPS,這是一個平均值,等于Complete requests/Time taken for tests=100/1.093=91.50

//從用戶角度看,完成一個請求所需要的時間(因用戶數量不止一個,服務器完成10個請求,平均每個用戶才接收到一個完整的返回,所以該值是下一項數值的10倍。)

//服務器完成一個請求的時間。

Übertragungsrate: 92,32 [Kbyte/Sek.] empfangen //網絡傳輸速度。對于大文件的請求測試,這個值很容易成為系統瓶頸所在。要確定該值是不是瓶頸,需要了解客戶端和被測服務器之間的網絡情況,包括網絡帶寬和網卡速度等信息。

Verbindungszeiten (ms)

Min. Mittelwert[+/-SD] Median Max.

Verbinden: 47 74 12,9 74 106

Verarbeitung: 9 32 20,2 32 106

Warten: 9 29 19,1 27 98

Gesamt: 66 106 20,8 106 195

//這幾行組成的表格主要是針對響應時間也就是第一個Time per request進行細分和統計。一個請求的響應時間可以分成網絡鏈接(Connect),系統處理(Processing)和等待(Waiting)三個部分。表中min表示最小值;mean表示平均值;[+/-sd]表示標準差(Standard Deviation) ,也稱均方差(mean square error),這個概念在中學的數學課上學過,表示數據的離散程度,數值越大表示數據越分散,系統響應時間越不穩定。 median表示中位數; max當然就是表示最大值了。

//需要注意的是表中的Total并不等于前三行數據相加,因為前三行的數據并不是在同一個請求中采集到的,可能某個請求的網絡延遲最短,但是系統處理時間又是最長的呢。所以Total是從整個請求所需要的時間的角度來統計的。這里可以看到最慢的一個請求花費了195ms,這個數據可以在下面的表中得到驗證。

Prozentsatz der Anfragen, die innerhalb einer bestimmten Zeit (ms) bearbeitet wurden

50% 106

66% 109

75% 111

80% 114

90% 118

95% 154

98% 176

99% 195

100 % 195 (längste Anfrage)

//這個表第一行表示有50%的請求都是在106ms內完成的,可以看到這個值是比較接近平均系統響應時間(第一個Time per request: 109.287 [ms] (mean))

以此類推,90%的請求是小于等于118ms的。剛才我們看到響應時間最長的那個請求是195ms,那么顯然所有請求(100%)的時間都是小于等于195毫秒的,也就是表中最后一行的數據肯定是時間最長的那個請求(longest request)。

Ich glaube, dass jeder durch die obige Erklärung die Bedeutung dieser Daten verstehen kann. Sollten Fehler auftreten, hinterlassen Sie bitte eine Nachricht, damit wir diese korrigieren können.

Damit ist dieser Artikel zur Analyse von AB-Leistungstestergebnissen unter Apache abgeschlossen. Ich hoffe, dass es für jedermanns Studium hilfreich sein wird, und ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Verwenden von Apache ab zum Durchführen von HTTP-Leistungstests
  • Detaillierte Erläuterung der Verwendung des Apache-Leistungstesttools ab
  • Tutorial zur Verwendung des Apache AB-Leistungstesttools

<<:  Reines CSS, um den Listen-Pulldown-Effekt auf der Seite zu erzielen

>>:  So schreiben Sie Objekte und Parameter, um Flash in Firefox abzuspielen

Artikel empfehlen

So fügen Sie Div-Elementen abgerundete Ränder hinzu

Wie unten dargestellt: CSS- CodeInhalt in die Zwi...

Tipps zur Datenstatistik in MySQL

Als häufig verwendete Datenbank erfordert MySQL v...

8 JS reduziert Verwendungsbeispiele und reduzierte Betriebsmethoden

reduce Methode ist eine Array-Iterationsmethode. ...

Beispielcode zur Implementierung transparenter Verlaufseffekte mit CSS

Die Titelbilder in den Spalten von Zhihu Discover...

Detaillierte Erläuterung des Linux-Indexknoten-Inode

1. Einführung in Inode Um Inode zu verstehen, müs...

So reduzieren Sie den Speicherverbrauch und die CPU-Auslastung von Webseiten

Manche Webseiten erscheinen möglicherweise nicht ...

Netzwerkmanagement und Netzwerkisolationsimplementierung von Docker-Containern

1. Docker-Netzwerkverwaltung 1. Docker-Container-...

Detaillierte Erklärung von Prototypen und Prototypenketten in JavaScript

Inhaltsverzeichnis Prototyp-Kettendiagramm Grundl...

Lösung für die Protokollpersistenzlösung des Nginx-Ingress-Controllers

Kürzlich habe ich auf einem öffentlichen Konto ei...

So implementieren Sie Leerzeichen in Taobao mit CSS3

Machen Sie einen leeren Bereich für Taobao: Wenn ...