Differenziertes Urteil

Die Hersteller von Servern preisen ihre Systeme mit zum Teil sehr undurchsichtigen Leistungswerten an. Eine verläßliche Aussage darüber, ob ein Rechner für eine konkrete Aufgabe geeignet ist, fällt da schwer. gateway schafft Abhilfe: Die offene Benchmark-Suite legt Stärken und Schwächen frei.

Von: Jürgen Fey

Wer heute den idealen Server für seine Abteilung sucht oder eine kostenoptimierte Web-Server-Lösung (sprich: nicht zu groß aber um Gottes Willen auch nicht zu klein) bei seinem Serviceprovider aufstellen will, tappt bei der Auswahl des "richtigen" Geräts nicht selten im dunkeln. Allzu häufig kann der Serverhersteller lediglich nichtssagende, aber wohlklingende TPC-A, -B, -C oder -D-Werte offerieren, deren praktischer Wert sich dank der sehr abstrakten Ergebnisse für viele entzieht. Natürlich schafft man mit der "Darf es etwas mehr sein"-Philosophie so manches Problem aus der Welt, doch der kostenorientierte Käufer würde es oft gerne genauer wissen.

Um etwas Licht in die finsteren Tiefen der Serverleistungsdaten zu bringen, hat gateway eine eigene Benchmark-Suite entwickelt. Sie erlaubt eine differenzierte Aussage über die Leistungsfähigkeit eines Rechners in verschiedenen Anwendungsbereichen. Und sie ist natürlich auch Grundlage für die unabhängigen Servertests, die Sie jetzt regelmäßig in gateway lesen werden. Das grundlegende Ziel hierbei ist es, die Leistungsfähigkeit bekannter Server-Basis-Services wie beispielsweise POP, SMTP, HTTP, NFS, FTP oder auch von "Streaming-Medien" festzustellen.

Und da ein Service in der Regel nicht alleine kommt, haben wir für unterschiedliche Bedürfnisse auch entsprechende Antworten parat. Hierzu definieren wir Anwendungsprofile, um die stark divergierenden Anforderungen unter einen Hut zu bekommen. Die gesamte Benchmark-Sammlung wird nach der Fertigstellung zum Download bereitstehen, damit Sie Ihrer eigenen Systemumgebung intensiv auf den Zahn fühlen können.

Die Testsuite besteht aus drei funktional miteinander verkoppelten Systemen (Bild 1). Im Mittelpunkt steht der zu überwachende Testserver, der auf die von außen erzeugten Service-Requests wartet und diese nach bestem Wissen und Gewissen ausführt. Ein zentraler Master/Client-Prozeß koordiniert alle Aktionen von außen. Hierzu stellt er den "Arbeitspunkt" des Servers, sprich eine konstante Last, ein. Danach löst der Master alle gewünschten Service-Requests aus und überwacht die Aktionen.

Zum Erzeugen der Requests warten die auf externen Systemen in Java simulierten Clients auf ihre Chance. In statistisch erzeugten Zeiträumen treten die Clients in Aktion und belasten somit den Server mit einer vorgegebenen Last. Ein Zufallszahlengenerator sorgt für zeitlich verteilt aktivierte Requests, während sich die Multithreaded-Umgebung von Java gut für das "Ausschwärmen" der Clients eignet.

In der Mitte wacht ein Linux-System (Suse 5.3 Linux) transparent über den Status des Netzwerks. Dieses System übernimmt auch den NFS-Benchmark (NFS=Network File System). Hierzu mountet es mehrere Verzeichnisse des zu testenden Servers in lokale Pfade und sorgt danach parallel zu allen anderen Requests durch gezielte "Sticheleien", sprich Dateiaktionen, für zusätzlichen Traffic. Zur Koordination der NFS-Aktionen ist der Linux-Rechner mit dem Master-Client verbunden, so daß die Steuerung von einer zentralen Stelle aus erfolgt.