Frage

Ich möchte also mehr Erfahrungen mit hochvertriebem Websites sammeln, aber leider schlägt das Internet nicht die Türen meines Blogs.

Wie kann ich in meinem Blog Zehns/Hunderte von Hits pro Sekunde simulieren und seine Leistung testen? Ich hoste mein Blog mit einem SSH -Konto auf einem gemeinsamen Server.

War es hilfreich?

Lösung

Sie können viele Anfragen an Ihren Server senden, indem Sie Tools wie folgt:


Mit dem ersten, AB, können Sie nur viele Anfragen an eine einzige URL senden - was großartig ist, um ein einzelnes Skript / eine einzelne Seite zu bewerten. spiegelt aber nicht das eigentliche Muster eines Benutzers wider, der auf Ihrer Website stöbert (CSS/JS/Bilder werden zum Beispiel nicht geladen).

Mit der zweiten, Belagerung können Sie Anfragen an eine in einer Textdatei angegebene URL -Liste senden - erstellt diese Liste der URLs ordnungsgemäß (dafür gibt es einen Stellvertreter) Werden Sie einige keine schlechten Tests bekommen.

Und der dritte, JMeter, ermöglicht es Ihnen, komplexere Szenarien zu erstellen.
Dieser ist komplexer, und Sie benötigen ein bisschen Zeit, um es zu verwenden - aber das ist wahrscheinlich das, was Sie am besten erzielen.

Andere Tipps

HTTP (s) Benchmark -Tools, Test/Debugging & Restapi (Restful)

Befindet sich in alphabetischer Reihenfolge (nicht bevorzugt)

HTTP (s) Benchmark -Tools

  • ab - Langsam und einzelner Thread, geschrieben in C
  • Apib - Die meisten Funktionen von Apachebch (ab), auch als als gestaltet modernerer Ersatz, geschrieben in C
  • Baloo -Expressive End-to-End-HTTP-API-Tests einfach gemacht, geschrieben in Go (golang)
  • Taktstock - HTTP -Ladetests, geschrieben in Go ((golang)
  • Bombenschütze - Schnelles Cross -Plattform -HTTP -Benchmarking -Tool, geschrieben in Go (golang)
  • Curl-Lader - Leistungsbelastung verschiedener Anwendungsdienste und Verkehrsgenerierung, geschrieben in C
  • fasthttploader - Benchmark (irgendwie AB) mit autoadjustment- und Diagrammen basierend auf der FasthTTP -Bibliothek, schreiben Sie in Go (golang)
  • Fortio - Testbibliothek und Befehlszeilen -Tool und Web -Benutzeroberfläche laden. Ermöglicht die Angabe eines festgelegten Last- und Aufzeichnungslatenzhistogramme von Abfragen pro Sekunde und anderen nützlichen Statistiken, schreiben Sie in Go ((golang)
  • Gatling - Hochleistungslast -Test -Framework basierend auf Scala, Akka und Netty, schreiben Sie in Scala
  • Go-Wrk - Ein HTTP -Benchmarking -Tool, das im Spirit auf dem hervorragenden WRK -Werkzeug basiert (wg/wrk), schreiben Sie in Go ((golang)
  • Ansporn - Goad ist ein AWS -Lambda, das hochverteilt, lastetesttest, schriftlich in Go ((golang)
  • Gernch - HTTP/HTTPS -Lade- und Benchmarking -Tool, schreiben Sie in Go (golang)
  • gohttpbenchab-Like Benchmark-Tool auf Multi-Core-CPU, schreiben Sie in Go (golang)
  • Hey - HTTP (s) Ladegenerator, Apachebench (ab) Ersatz, früher bekannt als Rakyll/Boom, geschrieben in Go (golang)
  • htstress -Multithreading High-Load-Bechmarking-Dienste (> 5K RPS), geschrieben in C/Linux
  • httperf - Schwierige Konfiguration, langsam und einzelner Thread, geschrieben in C
  • Überfluss -Ein einfaches und hochdurchsatzes HTTP-Flutprogramm, geschrieben in C/Linux
  • JMeter - Apache JMeter ™, reine Anwendung zum Laden der Testleistung sowohl auf statischen als auch in dynamischen Ressourcen, geschrieben in Java
  • Heuschrecke -Einfach zu bedienendes, verteiltes Lasttest-Tool mit Echtzeit-Web-Benutzeroberfläche. Simuliert einen Schwarm gleichzeitiger Benutzer, das Verhalten von jedem von ihnen wird durch Ihren Python -Code definiert. Geschrieben in Python
  • mgun - Ein modernes Werkzeug zum Lasttest -HTTP -Servern, geschrieben in Go ((golang)
  • zuschlagen - Ereigte, aber die Ergebnisse schwanken, es ist manchmal schneller als htstress, geschrieben in C
  • Belagerung - Langsam und einzelner Thread, geschrieben in C
  • Slapper -Einfaches Lasttest-Tool mit Echtzeit aktualisiertem Histogramm der Anforderungszeiten, geschrieben in Go ((golang)
  • Slow_cooker -Ein Lastentester, der sich auf Lebenszyklusprobleme und langlebige Tests konzentriert, der über einen längeren Zeitraum eine vorhersehbare Belastung und Parallelitätsniveau ist, die in GO geschrieben wurde ((in GO (golang)
  • Scharfschütze -leistungsstarker und Hochleistungs-HTTP-Lastentester, geschrieben in Go (golang)
  • Tsung - Simulieren Sie die Benutzer von Stress, um die Skalierbarkeit und Leistung von IP -basierten Client/Server -Anwendungen zu testen HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP und Jabber/XMPP Server, geschrieben in Erlang
  • Vegeta - HTTP -Tool und Bibliothek für Lasttests, geschrieben in Go (golang)
  • Gewicht - multithread, aber langsamer als htstress ohne Keepalive, geschrieben in C
  • wrk - Multithreadede ~~, bietet aber keine gleichzeitigen Verbindungen und einen Keepalive Switch ~~, geschrieben in C/Lua
  • WRK2 - Konstante Durchsatz, korrekte Latenzaufzeichnungsvariante von WRK, geschrieben in C/Lua

    Concurrent connections are enabled with:
      -c, --connections <N>  Connections to keep open
    And keepalive (which is default) can be disabled using:
      -H "Connection: close"
    
  • Yandex-Tank - Last- und Leistungsbenchmark -Tool, geschrieben in Python/C|C++|Asm (Phantom)

Toolkit zum Testen/Debuggen von HTTP (s) und Restapi (RESTful)

  • Schläger -GO implementieren Sie CLI, ein lockiges Tool für Menschen, geschrieben in Go ((golang)
  • Locken -Befehlszeilen-Tool für leistungsstarke Funktionen zum Übertragen von Daten, die mit der URL-Syntax angegeben sind, geschrieben in C
  • CurlConverter - Curl -Befehle in Python, JavaScript, PHP konvertieren
  • httpie -Client, benutzerfreundlicher Curl-Ersatz durch intuitive Benutzeroberfläche, JSON-Support, Syntax-Hervorhebung, WGet-ähnliche Downloads, Erweiterungen, geschrieben in Python
  • JQ -ist ein leichter und flexibler JSON-Prozessor, der in einem JSON-Prozessor geschrieben ist C

SaaS/PaaS

  • Blazemeter -bietet ein Rahmen für das gesamte technische Team (Entwickler, DevOps, OPS und QA) während des gesamten Lebenszyklus für die Produktentwicklung ein Cross-Enterprise-Testautomatisierungsrahmen. Führen Sie kontinuierliche oder "On Demand" -Tests für APIs, mobile Apps und Websites durch. Laufen Sie aus der Cloud, vor Ort oder als hybride Lösung. Verwendung mit JMeter & Selenium WebDriver und integrieren Sie in Ihre vorhandenen CI-, CD- und APM -Tools.
  • Newrelic - Software Analytics Tool Suite, die von Entwicklern, OPs und Software -Unternehmen verwendet wird, um zu verstehen, wie Ihre Anwendungen in Entwicklung und Produktion ausgeführt werden
  • Nginx Amplify - Identifizieren Sie visuell Leistungs Engpässe, überlastete Server oder potenzielle DDOS -Angriffe. Verbesserung und optimieren Sie die NGINX -Leistung mit intelligenten Beratung und Empfehlungen. Holen Sie sich Warnungen, wenn etwas mit der Lieferung Ihrer Bewerbung nicht stimmt. Plankapazität und Leistung für Webanwendungen. Behalten Sie den Überblick über Systeme mit Nginx aus 1

Links

QUELLE: https://github.com/denji/awesome-http-tenchmark

Abgesehen von den offensichtlichen Werkzeugen wie AB möchten Sie sich vielleicht etwas ansehen wie Tsung - Ein Erlang -basierter Lasttestgenerator. Eine schöne Funktion ist die Fähigkeit, verteilte Lasttests durchzuführen (dh die Trennung der Verkehrserzeugung über eine Reihe von Maschinen).

Ich benutze JMeter, um meine Webanwendungen zu testen. Es könnte tun, wonach Sie suchen.

http://jmeter.apache.org/

Apache -Bank ist einfach und unkompliziert. Es gibt Viele Tutorials.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top