Belastungstest einer Website

Hallo!

Ich bin Mitarbeiter eines Projekts, bei dem eine Webplattform für ein VOting-System erschaffen werden soll.

Wir wollen das System verwenden bei einer großen Veranstaltung, bei der ein Publikum (mehrere Hundert Menschen) die Möglichkeit hat, in Echtzeit Bewertungen abzugeben (quasi für die Show, die vorn abläuft).

Das System ist so gut wie fertig. Damit wir sicher sein können, dass unsere IT und das System selbst am Tag X den hohen gleichzeitigen Zugriffszahlen standhält, möchte ich diese gerne Simulieren.

Habt ihr eine Idee, wie ich einen solchen Belastungstest machen könnte?


AutoIt oder Selenium wäre ja kein Problem, aber damit kann ich ja immer nur 1 Zugriff testen.
Ich würde gerne 1000 gleichzeitige Zugriffe testen...und das von 1 PC aus.


ideas?


Danke schonmal!
 
Warum auch nicht... ;). Lange her, daß ich das Tool verwendet habe, kenne auch Ad-Hoc kein anderes.
 
Warum auch nicht... ;). Lange her, daß ich das Tool verwendet habe, kenne auch Ad-Hoc kein anderes.
Code:
ab -n 50000 -c 1000 mysite
ab -n 50000 -c 1000 -k mysite (k = keep alive, c= concurrency)
cdw@debian:~$ which ab | xargs dpkg -S
apache2-utils: /usr/bin/ab

Code:
cdw@debian:~$ ab -vv -n 10 -c 10 http://google.de/index
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 google.de (be patient).....done


Server Software:        sffe
Server Hostname:        google.de
Server Port:            80

Document Path:          /index
Document Length:        223 bytes

Concurrency Level:      10
Time taken for tests:   0.146 seconds
Complete requests:      10
Failed requests:        0
Write errors:           0
Non-2xx responses:      10
Total transferred:      5530 bytes
HTML transferred:       2230 bytes
Requests per second:    68.43 [#/sec] (mean)
Time per request:       146.134 [ms] (mean)
Time per request:       14.613 [ms] (mean, across all concurrent requests)
Transfer rate:          36.96 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       21   33   5.6     35      37
Processing:    41   96  22.2    106     108
Waiting:       41   95  22.0    105     107
Total:         63  128  27.6    141     144

Percentage of the requests served within a certain time (ms)
  50%    141
  66%    142
  75%    143
  80%    144
  90%    144
  95%    144
  98%    144
  99%    144
 100%    144 (longest request)
:)
 
Um die Belastung so niedrig wie möglich zu erhalten würde ich sagen:
- CSS-Sprites
- Javascript soweit es geht vermeiden und am Ende einfügen
- Quelltext (HTML, CSS PHP, Javascript) Minimizer nutzen
- Request - Anfragen reduzieren
 
Geht ja noch nicht um Optimierung, sondern erstmal darum zu eruieren, ob Optimierungen überhaupt benötigt werden. Bedarfsermittlung... :)
 
Wenn es um reine Bedarfsermittlung für Optimierung geht, würde ich wie CDW auch erstmal Apachebenchmark (ab) auf die Seite loslassen. Damit kannst du recht gut ermitteln wie viele Requests die Seite vertragen kann, bevor sie nicht mehr reagiert. Das kannst du dann mit der aktuellen und/oder der erwarteten Request-Anzahl vergleichen und anhand dessen den Bedarf für Optimierungen ermitteln.
 
Zurück
Oben