Differenziertes Urteil

Middle Tier

Dennoch kommt die Benchmark-Suite an Datenbankanwendungen nicht vorbei. Hierzu ist auf einem fest im Testnetzwerk integrierten Referenzserver eine Datenbank installiert. Der Testserver dient dabei als "Middle-Tier"-Server, der einfache Anforderungen externer Clients bearbeitet, diese in SQL-Statements umformt, die aus der Datenbank zurückgelieferten Daten filtert oder umformt und sie anschließend zum Client zurückgibt. Um diesen Bereich zu testen, sind derzeit zwei unterschiedliche Varianten in Diskussion.

Zum einen können die Datenbankanfragen über den HTTP-Server ablaufen und bilden somit eine typische Intranet-Anwendung. Die Datenbankanfrage wird in diesem Fall an eine CGI-Routine übergeben, die den Zugriff auf die Datenbank abwickelt. Um eine möglichst große Systempalette durch den Benchmark universell ansteuern zu können, kommt an dieser Stelle die in diesem Umfeld längst bekannte Programmiersprache Perl mit bestens geeigneten Bibliotheken (DBD/DBI und ODBC) zum Einsatz. Spezielle Lösungen, die nur auf dem Server des Anbieters ablaufen, bleiben unberücksichtigt.

Die zweite Variante wäre ein neuer Serverservice, der als Systemdämon auf Aufträge wartet. Ausgeführt in Java, könnte ein solcher Multithreaded-Prozeß die Anforderungen entgegennehmen und per JDBC an die Datenbank weitergeben. An diese Lösung angelehnt ist die Realisierung als Servlet.

Bei einem Servertest bewegt man sich in einem Minenfeld – mit der einzigen Gewißheit, daß mit Sicherheit irgend eine Mine im Wege ist. Besonders die im Serverumfeld unendlich erscheinenden Optimierungsoptionen erschweren eine Leistungseinstufung. Die Benchmark-Suite der gateway-Redaktion betrachtet diesen Punkt sehr pragmatisch. Ein Vergleich zur Autoindustrie mag helfen.

Auch ein Auto bietet als technisches Objekt fast beliebige Optimierungsmöglichkeiten. Der Hersteller muß für den jeweiligen Einsatzzweck die optimale Einstellung finden. Die meisten Kunden wiederum vertrauen dieser Standardauslieferung. Einige wenige beginnen, das System "Auto" nach ihren Wünschen zu tunen. Die meisten Anwender betreiben ihre Server zumindest hinsichtlich der Standardservices oft in der vom Hersteller ausgelieferten Konfiguration in der Hoffnung, dieser habe die entsprechende Vorarbeit bereits geleistet.

Nicht selten verrichtet eine Serversoftware ihre Arbeit parallel zu einer Datenbank. Wir testen die Systeme aus diesem Grund mit einer definierten und konstanten Grundlast, die ständig auf dem Server aufrecht erhalten wird. Diese Grundlast simuliert eine Datenbanklast. Die Grundlast kann aber ebenso einen gerade durchgeführten Backup-Lauf (externe WWW-User nehmen auf Wochenenden und Nachtzeiten keine Rücksicht!) oder einen für Streaming-Medien typischen Codec-Run simulieren.

Eine niedrige Grundlast simuliert demgegenüber das übliche Tagesgeschäft, bei dem immer mal wieder ein Request "aus der Reihe tanzt" und dem Server zusätzliche Arbeit verursacht. Die Benchmarks eignen sich aber auch dazu, die Änderungen im Leistungsverhalten spezifischer Services auf einem Server abzuklopfen, damit man schneller die optimale Einstellung findet.