Einfache Lasttests mit Apache ab


Heute möchte ich euch ein kleines, aber nützliches Tool vorstellen.

Um die Verfügbarkeit einer Internetseite unter hohen Belastungen zu testen, kann man einen Lastgenerator benutzen. Dieser generiert viele Anfragen gleichzeitig und simuliert so ein hohes Benutzeraufkommen. Apache ab ist ein konstruierter Lastgenerator, welcher nicht versucht einen realistischen Nutzer vorzutäuschen, sondern viele Anfragen an eine konkrete Seite schickt.

Ein konkreter Test mit Apache ab ist relativ einfach und sieht wie folgt aus:


macbook:~ david$ ab -n 200 -c 50 http://test.webserver/
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 test.webserver (be patient)
Completed 100 requests
Completed 200 requests
Finished 200 requests

Server Software:        Apache/2.2.12
Server Hostname:        test.webserver
Server Port:            80

Document Path:          /
Document Length:        927 bytes

Concurrency Level:      50
Time taken for tests:   22.955 seconds
Complete requests:      200
Failed requests:        0
Write errors:           0
Total transferred:      243400 bytes
HTML transferred:       185400 bytes
Requests per second:    8.71 [#/sec] (mean)
Time per request:       5738.652 [ms] (mean)
Time per request:       114.773 [ms] (mean, across all concurrent requests)
Transfer rate:          10.36 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    2   2.0      1       6
Processing:  1026 5446 2558.8   5007   12242
Waiting:     1025 5432 2554.1   4918   12194
Total:       1029 5448 2558.0   5013   12243

Percentage of the requests served within a certain time (ms)
  50%   5013
  66%   5494
  75%   5937
  80%   6548
  90%  10424
  95%  11114
  98%  11738
  99%  12195
 100%  12243 (longest request)

Dieser Befehl hat 200 Anfragen ausgeführt, von denen maximal 50 gleichzeitig verschickt wurden. Es wurden 8.71 Anfragen pro Sekunde geschickt. Eine Anfrage dauerte ca. 114.773 ms. Die Statistiken geben noch Auskunft über das übertragene Datenvolumen, Übertragungsdauer und Erreichbarkeit.

Mit Apache ab kann man relativ einfach und schnell Lasttests durchführen, aber einen echten Nutzer simulieren kann man damit nicht.

, , , ,

  1. Bisher keine Kommentare.
(wird nicht veröffentlicht)