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.
Letzte Kommentare