Differenziertes Urteil

Zentrale Steuerung

Der Überblick in die derzeitige Struktur der Benchmark-Suite beginnt bei den Testclients. Ziel dieser Clients ist es, eine statistisch definierte Last auf dem Testserver zu erzeugen und dabei den aktuellen Status der atomaren Operationen in einer Log-Datei festzuhalten. Jeder Client meldet Fehler zudem direkt an den Master. Diese Information kann man zur Live-Anzeige nutzen. Die Clients simulieren das jeweils zugeordnete Protokoll, etwa das "Post Office Protocol" (POP). So lesen die Clients beispielsweise die E-Mail auf dem Server und schreiben oder löschen Nachrichten (siehe Kasten "Ein POP-Client"). Mitunter bringen, ganz wie im "richtigen Leben", falsche Kommandos oder ungültige Paßwörter etwas Sand in das Getriebe.

Damit man die Performance des Servers genauer definieren kann, legt jeder Client seine Anforderungen mitsamt der Angaben über die benötigte Zeit nach der vollständigen Abarbeitung in einer Log-Datei ab. Geht etwas schief, so findet sich eine entsprechende Fehlermeldung (mit einem definierten Timeout-Wert) in den Log-Daten. Damit alle Systeme das gleiche "Zeitgefühl" haben, synchronisieren kleine Routinen die Systemzeiteinträge mit der Realzeituhr des Servers.

Die Clientsimulation basiert auf Tabellen, in denen die Anforderungen zeilenweise eingetragen sind. Hierzu liest der Client die Tabelle beim Start in eine Hash-Tabelle ein und führt den Auftrag dann teilweise auch in Form einer "State Machine" durch. Je nach Antwort geht der Client also die nach den jeweiligen RFCs definierten Wege (solche "Requests for Comment" enthalten die genauen Definitionen der Internet-Protokolle). Die Protokolltabellen berücksichtigen dabei lediglich die wichtigsten Funktionen eines Service. Krasse Sonderfälle bleiben also ausgespart.