Heim >php教程 >PHP开发 >HTTP-Service-Stresstest-Tool Alex (wird mit Web-Benutzeroberfläche geliefert)

HTTP-Service-Stresstest-Tool Alex (wird mit Web-Benutzeroberfläche geliefert)

高洛峰
高洛峰Original
2016-11-22 16:51:321526Durchsuche

Alex‘ Hauptfunktionen

Stresstestparameter für wiederholte Stresstests speichern

Stresstestberichte zur späteren Anzeige und Weitergabe speichern

Bietet einfache und direkte grafische und Textberichte

Kann Stresstests auf mehreren http-Schnittstellen gleichzeitig durchführen

Kann Stresstests auf mehreren Host:Port-Paaren im Cluster gleichzeitig durchführen

Verwenden Sie mehrere Sätze von Aufrufen von Parametern zur Vermeidung von Stresstests. Daten-Hotspot-Probleme, die auftreten, wenn

Schritteinstellungen verwenden, um progressive Druckquellen zu generieren

Eine einfache Echtzeit-Anzeigefunktion des Systemstatus der Druckprüfmaschine bereitstellen

Alex-Einschränkungen

Alex wird in einem einzigen Prozess ausgeführt. Wenn Sie eine verteilte Stresstestumgebung benötigen, müssen Sie mehrere Knoten gleichzeitig einsetzen.

Vegeta bietet keine Möglichkeit, bei Überlastung sofort aufzuhören. Dies erfordert, dass Sie die Stresstestschritte sorgfältig planen und den Systemstatus sorgfältig beobachten, um eine Systemüberlastung zu vermeiden.

Qps und Parallelität sollten nicht zu groß sein. Ich habe einmal das Alex-Tool verwendet, um das HelloWorld-Webprogramm in einem einzigen Prozess zu testen. Jede Anfrage spuckte 1.500 Bytes aus, und die QPS konnten bis zu 60.000 erreichen, was im Grunde die Gigabit-Netzwerkkarte füllte.

Versuchen Sie, die Gzip-Dekomprimierung bei großen Belastungstests zu vermeiden. Die Dekomprimierung beansprucht viele CPU-Ressourcen und kann zu ungenauen Stresstestberichten führen. Sie können umfangreiche Stresstests durchführen, indem Sie mehrere Knoten bereitstellen.

Unterstützt nur das HTTP-Protokoll. Die Unterstützung des HTTPS-Protokolls ist nicht geplant, da die Verschlüsselung und Entschlüsselung ebenfalls viele CPU-Ressourcen beansprucht, was zu ungenauen Berichten führt.

Der Bericht stellt lediglich eine Leistungsreferenz dar, und Sie müssen mutig genug sein, den Bericht in Frage zu stellen.

Obwohl Alex so viele Einschränkungen hat, hat dies keinen Einfluss auf die tägliche Nutzung.

Installieren

install mongodb

install golang  # 1.4+ is required

go get github.com/go-martini/martini

go get github.com/tsenart/vegeta

go get gopkg.in/mgo.v2

go get github.com/shirou/gopsutil

# godep restore

git clone https://github.com/shellquery/alex.git

cd alex

go build

./alex

./alex -c config.json

open browser

http://localhost:8000/

config.json konfigurieren

{

"BindAddr": "localhost:8000",

"MongoUrl": "mongodb://localhost:27017/alex",

"Teams": [

"python",

"java",

"php",

"go"

]

}


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn