2016-03-30 7 views
1

Ich habe meinen ersten Belastungstest gemacht und ich habe einige Schwierigkeiten, es zu verstehen. Ich muss überprüfen, wie gut Projekt mit php5 und mit php7 arbeiten.Erklärung der Ergebnisse der Belastungstest in Jmeter

Screenshots der Ergebnisse:

php7 + nginx

php5 + apache

las ich in google die niedrigere durchschnittliche Antwortzeit (blaue Linie) bedeutet einen höheren Durchsatz (grüne Linie), aber auf meine Grafik es ist der gleiche Vektor, größere Reaktionszeit bedeuten größeren Durchsatz. Wie kann es wahr sein? Vielleicht habe ich einige Fehler gemacht

Ja, php7 ist schneller in der durchschnittlichen Antwortzeit. Aber es ist so wenig Unterschied zwischen php5apache und php7nginx.

Wenn mehr Informationen benötigt werden, kann ich es leicht bereitstellen.

+1

In der php7 + nginx bleibt die Reaktionszeit relativ konstant, da der Durchsatz steigt (wahrscheinlich aufgrund zunehmender Last). Sie sind in der schönen Auswahl. Ein Stresstest würde die Belastung weiter erhöhen, bis die Reaktionszeit auf einen "Ellenbogen (oder Knie)" trifft und außer Sichtweite schießt. php5 + apache zeigt konstante Reaktionszeit und stabilen Durchsatz. Sieht aus wie die Last konstant ist. Fragen Sie sich, ist die Reaktionszeit akzeptabel? Nur Sie und Ihr Kunde können das beantworten. – MikeJRamsey56

Antwort

2

Ohne zu wissen, was Sie getan haben, ist es unmöglich, etwas kohärentes zu sagen. Aber vorausgesetzt, Sie anständige Anzahl der Benutzer für ein paar anständige Zeit lief, hier ein paar Ideen:

Wenn Durchsatz und Durchschnitt sind beide flach (horizontale Linie) (php5 + Apache) kann es sein

  • Entweder erreicht man einen Sättigungspunkt, das heißt, wenn Sie mehr Benutzer oder Anfragen pro Zeiteinheit hinzufügen, Durchsatz wird nicht wachsen, aber Durchschnitt wird dann wachsen (wird schlechter)

  • aber es kann auch sein, dass für gegebene Last, Jmeter und/oder Serv Anfragen werden nicht schneller bearbeitet, Sie sind jedoch noch nicht am Sättigungspunkt. I.e. das Hinzufügen von mehr Benutzern oder das Erhöhen der Anzahl von Anforderungen pro Zeiteinheit würde den Durchsatz erhöhen, ohne den Durchschnitt zu ändern.

Wenn Durchsatz wachsen wird, während durchschnittlich ziemlich flach ist (php7 + nginx)

  • Entweder Sie Ihre Last während Testläufe ständig zu. Dies kann entweder geplant werden (z. B. Sie beginnen mit einem sehr langsamen Hochlauf) oder ungeplant (z. B. verursacht eine Logik im Skript dieses Verhalten, das Sie nicht beabsichtigt haben, oder etwas in der JMeter-Umgebung verursacht dies). In diesem Fall ist der Durchschnittswert ziemlich nutzlos, da der Mittelwert mit geringerer Last den Durchschnittswert bei höherer Last beeinflusst, insbesondere da die Abweichung nach und nach zunimmt.

  • Oder Ihr Server braucht etwas Zeit, um hochzufahren (so dass mehr Anfragen pro Zeiteinheit verarbeitet werden können, als nach dem Start für einige Zeit, als direkt nach dem Teststart). Sie sehen die "typische" Performance noch nicht einmal, da das Diagramm endet, während der Durchsatz noch steigt.

  • Wenn dieser Durchsatz stundenlang wächst (bei konstanter Last), wäre das wirklich sehr seltsam. Der einzige Fall, den ich mir vorstellen kann, ist, ob Fehler in den Durchschnitts-/Durchsatzergebnissen enthalten sind. Auf einigen Servern sind Fehler viel schneller (oder viel langsamer) als erfolgreiche Transaktionen. Wenn also Fehler zum gleichen Durchschnitt gehören und es viele davon gibt, können sie die Ergebnisse in irgendeiner Weise beeinflussen, was die Ergebnisse so komisch macht.

Also würde ich sagen, Sie ausschließen müssen „wachsenden“ Durchsatz von Ergebnissen und Lauftest mehr zu sehen, wenn sie nicht stabilisiert (es wird an einem gewissen Punkt, und Sie können die grafische Darstellung zurückgesetzt, wenn es das erreicht " horizontale Linie "Zustand". Sie könnten auch die Belastung beider Tests erhöhen, um zu sehen, ob php5 + Apache wirklich am Sättigungspunkt war.