Messwerkzeug für Datenbanken

Mit Benchmark-Factory bietet Quest ein einfach zu bedienendes, aber praktisches Testwerkzeug für gängige Datenbank-Server.

  

» Von Sean McCown, 27.07.2006 11:45.

Mit der steigenden Komplexität und Vernetzung von Unternehmensanwendungen nimmt die Bedeutung der zugrunde liegenden Datenbanken zu. Einen kritischen Faktor stellt dabei die Leistung dieser Speichersysteme dar. Firmen wollen wissen, wie viele Zugriffe, so genannte Transaktionen, der Datenbank-Server verkraftet. Hierzu ist ein Benchmark-Werkzeug nötig, das solche Leistungsmessungen durchführt und die Grenzen der Hard- und Softwareumgebung auslotet. Nur ist das Angebot an auf Datenbanken spezialisierten Leistungsmessern nicht gerade berauschend. Die meisten Tools sind zudem Skript-basiert und eher komplex in der Konfiguration und Anwendung.

Schnell zum Test

Das gilt nicht für Benchmark-Factory von Quest. Die Windows-Anwendung erweist sich in der getesteten Version 4.7.1 als recht einfach zu bedienen. Zu den Stärken der Software gehören die vorkonfigurierten Standard-Benchmarks des TPC (Transaction Processing Performance Council). Mit wenigen Mausklicks gelangt man zu einem weit verbreiteten TPC-C-Test oder einer der anderen vordefinierten Messarten. Ebenso konfortabel lassen sich eigene Abfragen erzeugen. Die Konfiguration und Durchführung der Leistungstests gestaltet sich einfach und intuitiv. Benchmark-Factory versteht sich mit den gängigen Datenbanken Oracle, SQL-Server, DB2, Sybase oder My-SQL. Weitere Produkte wie etwa Postgresql werden über ODBC (Open Database Connectivity) ebenfalls unterstützt.

Der Aufbau eines Testszenarios geschieht über einen Assistenten. Zu dessen praktischen Funktionen zählt der so genannte Data-Exploder. Damit lassen sich so viele Testdaten wie benötigt generieren. Auch dieser Vorgang gestaltet sich einfach und benötigt keine Kenntnisse über die zugrunde liegenden Tabellen und Relationen. Stattdessen gibt der Tester die gewünschte Grösse der Datenbank an, worauf Benchmark-Factory automatisch die benötigten Daten im verlangten Umfang erstellt.

Diese allgemeine Form der Leistungsmessung ist hilfreich, um die Fähigkeiten der Serverhardware zu ermitteln. Die Testsoftware ermöglicht es, aufgrund der Standardvorlagen Benchmarks aufzubauen, die sich auf spezifische Aspekte wie Festplatten, Prozessor oder Arbeitsspeicher konzentrieren. Allerdings lassen sich die vorgefertigten Tests nicht anpassen, und die verwendeten SQL-Abfragen (Structured Query Language) bleiben in der Software verborgen.

Mehr oder minder reale Szenarien

Für die Messung spezifischer Applikationen lassen sich eigene Testszenarien aufbauen, die reale Vorgänge nachspielen oder einfach vom Benutzer vorgegebene Abfragen ausführen. Für das erste Verfahren setzt Benchmark-Factory auf Trace-Dateien eines Oracle- oder SQL-Servers. Auch der Aufbau eigener Tests gestaltet sich recht einfach. Nach der Auswahl der Methode fügt man Transaktionen hinzu und gewichtet deren Einfluss auf das Ergebnis. Die Abfragen lassen sich während des Tests über Parameter verändern. Hierzu bietet der Skriptassistent verschiedene Variablentypen an. Allerdings stösst man hierbei schnell an Grenzen. Die Benchmark-Software ist nicht in der Lage, veränderbare Parameter mit Inhalten aus bestehenden Datenbeständen zu füttern, um beispielsweise eine Online-Shop-Applikation mit realen Fällen zu testen. Und es fehlt die Unterstützung für Datentypen wie GUID (Globally Unique Identifier), Dezimal- und Fliesskommazahlen. Dafür versteht sich Benchmark-Factory mit Zufallszahlen und zufälligen Werten aus definierten Bereichen. Für die meisten Leistungstests reichen die Möglichkeiten der Parametrisierung. Bei komplexen Szenarien oder Applikationen mit komplexen Datenstrukturen stösst Benchmark-Factory aber an seine Grenze.

Doch die Software kann nicht nur die reine Leistung messen, sondern auch Grenzwerte ermitteln. Bei dieser Testform erhöht Benchmark-Factory automatisch die Anzahl der Benutzer und damit die Last auf dem Datenbankserver, bis eine vorgegebene Grenze erreicht ist. Solche Messungen sind nützlich, wenn die maximale Leistung eines Systems ermittelt werden soll. Damit wird es dem Tester erspart, eine Reihe von Benchmarks durchzuführen, um anhand der Resultate manuell die höchstmögliche Auslastung zu bestimmen.

Allerdings hat die Grenzwert-Messung ihre Schattenseite, denn sie bietet keine Hilfe für die Erkennung möglicher Flaschenhälse. Die Resultate beschränken sich auf TPS (Transaktionen pro Sekunde) und Antwortzeiten. Für den Leistungsvergleich verschiedener Datenbanken mag dies ausreichen. Aber um reale Umgebungen zu messen, ist man auf andere Informationen angewiesen. Hier wären Tests nötig, die Grenzwerte anhand der Hardewareressourcen setzen können. Dann erst lässt sich untersuchen, wie sich die steigende Last beispielsweise auf Festplattenleistung, Prozessor- und Speicherauslastung auswirkt. Aber solche Szenarien sind in Benchmark-Factory leider nicht vorgesehen.

Richtig berichten

Eine Leistungsmessung alleine ist nichts wert, wenn die Ergebnisse nicht ausgewertet werden. Das Messwerkzeug gibt sich auch in diesem Bereich einfach in der Bedienung. Nach erfolgtem Test erstellt die Software automatisch einen Bericht und zeigt den Verlauf grafisch an. Die Auswertungen sind detailliert und lassen sich nach verschiedenen Kriterien darstellen, wie beispielsweise den Zusammenhang zwischen der Zahl der Benutzer und der Prozessorauslastung. Während des Tests lassen sich die Resultate zudem laufend grafisch darstellen.

Für die Weiterverwendung bietet Benchmark-Factory derzeit nur den Export im Excelformat an. Doch da dies wohl dem Bedürfnis der meisten Anwender entspricht, stellt dies keine echte Einschränkung dar. Eine wirkliche Schwäche bei der Auswertung zeigt sich dagegen in der fehlenden Vergleichsmöglichkeit verschiedener Testläufe, beispielsweise der gleichen Applikation auf verschiedenen Plattformen. Diese Aufgabe bleibt dem Tester vorbehalten, der die Ergebnisse manuell mit Excel oder einem anderen Werkzeug vergleichen muss. Ebenfalls vermisst wird eine Pivot-Funktion für die schnelle Analyse der Daten. Das wäre hilfreich, um Vergleiche zwischen Messwerten zu ziehen, welche in den vorgegebenen Auswertungen nicht vorgesehen sind.

Der Berichtsfunktion wie auch den damit erzeugten Dokumenten fehlt es am Feinschliff. Es wäre sinnvoll, wenn Entwicklerin Quest in einer künftigen Version eine spezialisierte Software wie etwa Crystal-Reports in Benchmark-Factory integrieren würde. Dann könnten die Tester die Ergebnisse ohne manuelles Aufpolieren weiterverwenden, um beispielsweise den Finanzchef von der Notwendigkeit eines neuen Servers zu überzeugen.

Nützlich, aber mit Grenzen

In der aktuellen Ausgabe ist Benchmark-Factory zu einem praktischen Werkzeug für den Unternehmenseinsatz herangewachsen. Die recht einfache Bedienung erlaubt es auch wenig erfahrenen Benutzern, die Software ohne grossen Aufwand einzusetzen. Allerdings bleibt oft Handarbeit übrig. Denn die Berichte sind zwar solide, aber es fehlt an frei definierbaren Vergleichsmöglichkeiten. Im Rahmen seiner Grenzen liefert das Benchmark-Werkzeug insgesamt aber ansprechende Resultate.

Das Tool im Überblick

Benchmark-Factory

Herstellerin:Quest

Preis:Database-Edition (alle Datenbanken) umgerechnet 4320 Franken, Datenbank-spezifische Versionen 1080 Franken; kostenlose eingeschränkte Version

Vorteile Einfache Bedienung, zahlreiche Standard-Benchmarks integriert, unterstützt viele gängige Datenbanken.

NachteileEingeschränkte Parametrisierung, keine Hardwareressourcen als Grenzwerte, keine Pivot-Funktionen für die Auswertung.

www.quest.com

Werbung

KOMMENTARE

Keine Kommentare

KOMMENTAR SCHREIBEN

*
*
*
*

Alles Pflichfelder, E-Mail-Adresse wird nicht angezeigt.

Die Redaktion hält sich vor, unangebrachte, rassistische oder ehrverletzende Kommentare zu löschen.
Die Verfasser von Leserkommentaren gewähren der IDG Communications AG das unentgeltliche, zeitlich und räumlich unbegrenzte Recht, ihre Leserkommentare ganz oder teilweise auf dem Portal zu verwenden. Eingeschlossen ist zusätzlich das Recht, die Texte in andere Publikationsorgane, Medien oder Bücher zu übernehmen und zur Archivierung abzuspeichern.