2013-03-31 15 views
25

Was ist der Unterschied zwischen diesen 2 Feldern? :Apache Bench: Mittelwert vs Mittelwert für alle gleichzeitigen Anfragen

  • Zeit pro Anfrage (arithmetisches Mittel)
  • Zeit pro Anfrage (Mittelwert über alle gleichzeitige Zugriffe)

Wie wird jeder von ihnen berechnet?

Beispielausgabe:

Time per request:  3953.446 [ms] (mean) 
Time per request:  39.534 [ms] (mean, across all concurrent requests) 

Warum gibt es viel Unterschied?

+3

siehe http://serverfault.com/questions/274252/apache-ab-please-explain-the-output – Kevin

Antwort

16

Es wäre hilfreich, Ihre Eingabe zu sehen, aber ich glaube, dass die Ausgabe Ihnen sagt, dass es keine Zeiteinsparungen bei der Ausführung gleichzeitiger Anfragen gibt.

Zeit pro Anfrage (arithmetisches Mittel) Sie die durchschnittliche Zeit, sagt sie für eine gleichzeitige Gruppe von Anfragen nahm zu verarbeiten.

Zeit pro Anfrage (Mittelwert über alle gleichzeitige Zugriffe) Sie die durchschnittliche Zeit, sagt sie für einen einzigen Anfrage nahm für sich zu verarbeiten.

Wenn Sie 100 Anfragen gleichzeitig verarbeitet haben, wurden 3953,446 ms benötigt.

Wenn man sie einzeln verarbeitet, wäre es 39.534ms * 100 = 3953.4ms

Gleiche Nummer nehmen. Es gibt keine Zeitersparnis beim Ausführen gleichzeitiger Anfragen (zumindest für die Gesamtzahl der von Ihnen getesteten Anfragen).

+1

Ich sehe nicht, wie gleichzeitige Anfragen zu schnelleren individuellen Anfragen führen würde. Zeit pro Anfrage (Mittelwert, über alle gleichzeitigen Anfragen) sagt mir nur, wie effizient gleichzeitige Anfragen behandelt werden. – Saab

11

Hier ist ein Beispiel für ein AB-Testergebnis. Ich mache Anfragen, die mit gleichzeitige Anfragen.

C:\>ab -d -e a.csv -v 1 -n 1000 -c 3 http://www.example.com/index.aspx 
This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0 
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ 
Copyright (c) 2006 The Apache Software Foundation, http://www.apache.org/ 

Benchmarking www.m-taoyuan.tw (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 
Finished 1000 requests 


Server Software:  Microsoft-IIS/6.0 
Server Hostname:  www.m-taoyuan.tw 
Server Port:   80 

Document Path:   /index.aspx 
Document Length:  25986 bytes 

Concurrency Level:  3 
Time taken for tests: 25.734375 seconds 
Complete requests:  1000 
Failed requests:  0 
Write errors:   0 
Total transferred:  26372000 bytes 
HTML transferred:  25986000 bytes 
Requests per second: 38.86 [#/sec] (mean) 
Time per request:  77.203 [ms] (mean) 
Time per request:  25.734 [ms] (mean, across all concurrent requests) 
Transfer rate:   1000.72 [Kbytes/sec] received 

Connection Times (ms) 
       min mean[+/-sd] median max 
Connect:  0 1 4.4  0  15 
Processing: 62 75 9.1  78  109 
Waiting:  46 64 8.0  62  109 
Total:   62 76 9.3  78  109 

Wie Sie sehen können, gibt es zwei Zeit pro Anfrage Feld.

  • Zeit pro Anfrage (arithmetisches Mittel)
  • Zeit pro Anfrage (Mittelwert über alle gleichzeitige Zugriffe)

Bitte überprüfen Sie die Zeit für Tests erste Feld genommen. Der Wert ist 25,734375 Sekunden, die 25734.375 ms ist.

Wenn wir 25.734,375 ms teilen von , erhalten Sie 25,734 [ms], die genau die Zeit pro Anfrage (Mittelwert über alle gleichzeitige Zugriffe) Feldwert.

Für die Zeit pro Anfrage (arithmetisches Mittel) ist der Wert 77,203 [ms]. Der Wert ist ein bisschen länger als Zeit pro Anfrage (Mittelwert, über alle gleichzeitige Anfragen). Der Grund dafür ist, dass der Mittelwert bei jeder spezifischen Anfrage gezählt wird und die mittlere Zeit berechnet wird.

Lassen Sie mich Ihnen ein einfaches Beispiel geben.

Angenommen, wir machen Anfragen mit gleichzeitige Verbindungen. Die Zeit genommen für Tests ist 90ms und jede Anfrage sind 40ms, 50ms, 30ms. Also, was ist der Wert dieser beiden Zeit pro Anfrage?

  • Zeit pro Anfrage (Mittelwert) = (40 + 50 + 30)/3 = 40ms
  • Zeit pro Anfrage (Mittelwert über alle gleichzeitigen Zugriffe) = 90/3 = 30ms

Ich hoffe du kannst es verstehen. :)

+1

Das ist eine sehr gute Erklärung, danke. – tompave

Verwandte Themen