Frage

Ich möchte die höchstmögliche Anzahl von Threads verwenden (um weniger Computer zu verbrauchen), aber ohne dass es zu einem Engpass im Client kommt.

War es hilfreich?

Lösung

I JMeter habe ein gutes Stück verwendet und fand es bei Erzeugung von wirklich hohen Last nicht groß ist. Auf einem 2 GHz Core 2 Duo mit 2 GB Speicher kann man vernünftigerweise etwa 100 Fäden erwartet.

aber sagt, dass es am besten ist es auf Ihrer Hardware laufen, so dass der CPU des PCs nicht bei 100% nicht-Spitze -. Ein stabiles 80% -90% ist am besten, da sonst die Ergebnisse sind betroffen

Ich habe auch versucht, WAPT 5 - es lief erfolgreich 1000+ Fäden aus dem gleichen PC. Es ist nicht kostenlos, aber es ist mehr verwendbar als JMeter aber nicht alle Funktionen haben.

  

Antwort Veraltete mindestens Version 2.6, da finden Sie unter https://stackoverflow.com/a/11922239/460802 für eine mehr auf dem neuesten Stand ein.

Andere Tipps

JMeter kann eine sehr hohe Belastung simulieren, sofern Sie es richtig verwenden.

Hören Sie nicht auf Urban Legends , die sagen JMeter kann nicht hoch Last handhaben.

Jetzt als für Antwort, es hängt davon ab:

  • Ihre Maschinenleistung

  • Ihre Jvm 32 Bit oder 64 Bit

  • Ihre Jvm zugewiesenen Speicher -Xmx

  • Ihr Testplan (viel Beanshell, Postprozessor, XPath ... bedeutet eine Menge CPU)

  • Ihre os-Konfiguration (abstimmbaren)

  • Gui / non-GUI-Modus

Es gibt also keine theoretische Antwort ist aber folgende Best Practices JMeter wird sichergestellt, funktioniert gut.

Beachten Sie, dass mit jmeter Sie Last durch Remote-Tests verteilen können, lesen Sie:

Und schließlich Cloud-basierte Tests verwenden, wenn es nicht genug ist.

Lesen Sie diese für Tuning-Tipps:

Bitte lesen Sie diese Buch rel="nofollow Lasttests zu tun und mit JMeter richtig.

die JMeter Wiki Berichte Fälle, in denen JMeter mit so viel wie 1000 Fäden verwendet wurden. Ich habe es mit höchstens 100 Threads verwendet, aber die Links im Wiki vorschlagen Ressource Reduzierungen ich nie versucht.

Eines der Probleme, die wir mit dem Betrieb JMeter unter Windows XP hatten, war das Windows XP TCP-Verbindungslimit. Limit sollte, um die JMeter auszuführen entfernt werden nutzen Workstation, das volle Potenzial Weitere Informationen hier . AFAIK, gilt nicht für andere OS.

Ich habe JMeter seit 2004 und ich startete viele Belastungstests.

Mit PC Windows 7 64 Bit 4Go RAM iCore5.

ich denke, JMeter 300 bis unterstützen kann 400 gleichzeitige Threads für Http (Sampler) Protokoll mit nur einem "Gesamtbericht Listener", die in der Protokolldatei Ergebnissen schreiben und Timer zwischen Anruf-Seiten.

Für einen großen Belastungstest kann man JMeter mit Sklaven (Lastgeneratoren) wie folgt konfigurieren http://jmeter-plugins.org/wiki/HttpSimpleTableServer/

Ich habe bereits getan Tests mit 11 PC-Slaves 5000 Threads zu simulieren.

Ich habe JMeter nicht verwendet, aber die Antwort wahrscheinlich hängt von Ihrer Hardware. Beste Wette sein könnte Metriken der Leistung zu schaffen, rät bei der Anzahl der Threads und dann eine binäre Suche wie folgt durchgeführt.

Quelle war Wikipedia.

Anzahl Ratespiel ...

Dieses eher einfaches Spiel beginnt so etwas wie „Ich denke an eine ganze Zahl zwischen vierzig und sechzig einschließlich und auf Ihre Vermutungen werde ich‚High‘,‚Low‘oder reagieren‚Ja!‘ wie der Fall sein könnte.“ Angenommen, dass N die Anzahl der möglichen Werte (hier einundzwanzig als „inklusive“ wurde angegeben), dann sind die meisten Fragen erforderlich, um die Zahl zu bestimmen, da jede Frage den Suchraum halbiert. Beachten Sie, dass eine weniger Frage (Iteration) erforderlich ist als für den allgemeinen Algorithmus, da die Anzahl bereits innerhalb eines bestimmten Bereichs sein wird eingeschränkt.

Auch wenn die Zahl wir raten beliebig groß sein kann, wobei in diesem Fall gibt es keine obere Grenze N ist, können wir die Zahl in höchstens Schritten finden immer noch, indem zuerst (wobei k die (unbekannt) ausgewählte Zahl ist) eine obere durch wiederholte Verdoppelung gebunden. Wenn zum Beispiel der Zahl 11 waren, konnten wir die folgende Sequenz von Vermutungen verwenden, es zu finden: 1, 2, 4, 8, 16, 12, 10, 11

Man könnte auch die Technik erweitern negative Zahlen enthalten; beispielsweise werden die folgenden Annahmen verwendet, könnten -13 zu finden: 0, -1, -2, -4, -8, -16, -12, -14, -13

Es ist abhängig von der Art der Performance-Tests Sie tun (Last, Spike, Ausdauer usw.) auf einem bestimmten Server (ein wenig auf Hardware-Abhängigkeit)

um diese Parameter Beachten Sie, - der Client-Rechner, auf das Sie den Lauf von jmeter zielen, wird es eine bestimmte Menge an Heap-Speicher zugewiesen wird, sorgen für eine gesunde Zuordnung haben, so dass das Skript nicht aus Fehlern. Die höchste i auf jmeter laufen hatte, war 1500 auf einer lokalen Umgebung (Client - Server Bogen), auf einem Web-Bogen, der höchste Ich hatte einen Lauf auf Non- funktionale Anforderung basierend auf 250 Fäden wurden begrenzt,

so ist es ideal auf die Art der Performance-Tests hängt und Deployment-Stil und so weiter ..

Es gibt keine Standardnummer für diesen. Die maximale Anzahl von Threads, die Sie von einem Computer erzeugen können, hängt ganz von der Hardware des Computers und das Betriebssystem. Das Betriebssystem standardmäßig belegt bestimmte Menge an CPU und RAM.

Um die maximalen Fäden Ihr Computer herauszufinden behandeln können Sie einen Probe-Test vorbereiten und sie mit nur wenigen Threads laufen. Dann mit jedem Zyklus des Testdurchlauf nach und nach die Anzahl der Threads erhöhen. Dabei müssen Sie auch die CPU, RAM, Festplatten-I / O und Netzwerk-I / O des Computers überwachen. In dem Moment, eine dieser zu erreichen in der Nähe von oder über 80% (wieder für Sie in der Nähe entscheiden, ob für Sie in Ordnung ist oder darüber hinaus), das ist die maximale Anzahl von Threads Ihrem Computer verarbeiten kann. Um auf der sicheren Seite zu sein, die ich an der Zahl stoppen würde, wenn die Ressourcenauslastung 70% erreicht hat.

Dies hängt von der Hardware ab, auf der Sie ausgeführt werden, sowie vom zugrunde liegenden Skript.Ich hatte immer das Gefühl, dass diese Unschärfe das größte Problem bei herkömmlichen Lasttest-Tools ist.Wenn Sie über ein kleines Budget verfügen (ca. 200 US-Dollar für eine Menge Tests), schauen Sie sich das meiner Firma an Belastungstestdienst, BrowserMob.

Neben unseren Real Browser Users (RBUs), die Tausende von echten Browsern zu Leistungs- und Lasttests steuern, gibt es auch traditionelle Virtual Users (VUs).Skripte sind in JavaScript geschrieben und können verschiedene HTTP-Aufrufe durchführen.

Der Grund, warum ich es anspreche, ist, dass ich immer das Gefühl hatte, dass der Versuch, herauszufinden, wie viele VUs Sie auf Ihre Load-Gen-Hardware unterbringen können, gefährlich ist.Es ist so einfach, schlechte Ergebnisse zu erzielen, ohne es zu merken.

Um das für BrowserMob zu lösen, haben wir einen äußerst konservativen Ansatz hinsichtlich der Anzahl der VUs und RBUs ​​pro CPU-Kern gewählt:nicht mehr als 1 Browser oder 50 Threads pro CPU-Kern, manchmal auch viel weniger.In der Welt des Cloud Computing sind die CPU-Zyklen so günstig, dass es keinen Sinn macht, Maschinen zu überlasten.

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