Alle mir bekannten Testszenarien verwenden dieselbe Grundstruktur für den Test, der darin besteht, eine Reihe von Anfragen an einen oder mehrere Anforderer zu stellen, die auf den zu testenden Verarbeitungsagenten ausgerichtet sind. Kurt Die Antwort der Kommission ist ein hervorragendes Beispiel für diesen Prozess. Im Allgemeinen führen Sie die Tests durch, um einige Schwellenwerte zu ermitteln, und führen auch einige alternative Konfigurationen durch (weniger Knoten, andere Hardware usw.), um einen genauen Durchschnittswert zu ermitteln.
Ein Requester kann ein Rechner, eine Netzwerkkarte, eine bestimmte Software oder ein Thread in der Software sein, der die Anfragen erzeugt. Alles, was er tut, ist, eine Anfrage zu erzeugen, die auf irgendeine Weise verarbeitet werden kann.
Ein Verarbeitungsagent ist die Software, die Netzwerkkarte, die Maschine, die die Anfrage tatsächlich bearbeitet und ein Ergebnis zurückliefert.
Was Sie jedoch mit den Ergebnissen machen, bestimmt die Art des Tests, den Sie durchführen, und das sind sie:
Last-/Leistungsprüfung : Dies ist die am häufigsten verwendete Variante. Die Ergebnisse werden verarbeitet, um zu sehen, wie viel auf verschiedenen Ebenen oder in verschiedenen Konfigurationen verarbeitet wird. Auch hier ist das, wonach Kurt oben sucht, ein Beispiel dafür.
Gleichgewichtstest : Eine gängige Praxis bei der Skalierung ist die Verwendung eines Lastausgleichsagenten, der Anfragen an einen Prozessagenten weiterleitet. Der Aufbau ist derselbe wie beim Lasttest, aber das Ziel ist es, die Verteilung der Anfragen zu überprüfen. In einigen Szenarien müssen Sie sicherstellen, dass eine gleichmäßige (oder möglichst gleichmäßige) Verteilung der Anfragen auf die Prozessagenten erreicht wird, und in anderen Szenarien müssen Sie sicherstellen, dass der Prozessagent, der die erste Anfrage für einen bestimmten Antragsteller bearbeitet hat, alle nachfolgenden Anfragen bearbeitet (Webfarmen werden häufig auf diese Weise benötigt).
Datensicherheit : Mit diesem Test werden die Ergebnisse gesammelt und die Daten verglichen. Gesucht wird nach Sperrproblemen (z. B. SQL-Sperren), die Schreibvorgänge verhindern, oder danach, dass Datenänderungen in einer akzeptablen Zeit oder weniger auf die verschiedenen Knoten oder Repositories repliziert werden, die Sie verwenden.
Grenztests : Dies ähnelt den Lasttests, außer dass das Ziel nicht die Verarbeitungsleistung ist, sondern die Frage, wie viel gespeichert wird, die Leistung beeinflusst. Wenn Sie zum Beispiel eine Datenbank haben, wie viele Zeilen/Tabellen/Spalten können Sie haben, bevor die E/A-Leistung unter ein akzeptables Niveau fällt.
Ich würde auch empfehlen Die Kunst der Kapazitätsplanung als ein hervorragendes Buch zu diesem Thema.