Test von Andersen Consulting laesst keinen Zweifel Das Messaging-Verfahren ist besser als Remote SQL und RPC

14.04.1995

FRANKFURT (CW) - Einer der kritischen Erfolgsfaktoren fuer unternehmensweite Client-Server-Architekturen ist die Performance der Anwendungen. Hierbei spielt die Kommunikation zwischen den verteilten Komponenten eine besondere Rolle. Messaging stellt nach Untersuchungen von Andersen Consulting mit Abstand die leistungsfaehigste Alternative dar.

In einer umfangreichen Benchmarking-Untersuchung haben die Berater das Messaging-Verfahren mit den ebenfalls gaengigen Client-Server- Kommunikationstechniken Remote SQL und Remote Procedure Call (RPC) verglichen. Je nach Testszenario erreichte dabei das Messaging- Verfahren erhebliche Geschwindigkeitsvorteile, die im Bereich des zwei- bis 16fachen lagen.

Die "Foundation"-Organisation von Andersen hat eine Testumgebung in einem lokalen Netzwerk aufgebaut. Dabei verwendete man die Kommunikationsprotokolle IPX und Netbios zusammen mit dem Netz- Betriebssystem Netware. Sowohl der Client als auch der Server wurden unter dem Betriebssystem OS/2 betrieben. Als Datenbanksoftware kam auf dem Server IBMs DB/2 zum Einsatz. Es wurde eine simulierte Kundendatenbank mit zwei Tabellen benutzt.

Kunden- und Kontentabelle als Testumgebung

Die Kundentabelle umfasste die Kundennummer, den Vor- und Zunamen, eine Versicherungsnummer sowie die Postleitzahl. Die Kontentabelle enthielt Konto- und Kundennummer, die Art des Kontos, den Kontostand und die letzte Transaktion. Je nach Test wurde mit 300, 400 oder 500 Datenbankeintraegen gearbeitet. In allen Faellen kam eine typische Abfrageanwendung in der Programmiersprache C mit grafischer Benutzeroberflaeche und ANSI-SQL zum Einsatz.

Die Applikation ermoeglichte die selektive Kommunikation mittels der Zugriffsverfahren Messaging, Remote SQL oder Remote Procedure Call: Im Messaging-Fall kam die "Foundation"-Middleware zum Einsatz. Dabei wurde vom Client eine Message an ein Server- Programm geschickt, das die vorkompilierten SQL-Statements zur Ausfuehrung brachte. Beim Remote SQL wurde ein SQL-Statement vom Client an die Datenbank geschickt und dort ausgefuehrt. Im dritten Fall stellte der Client mittels RPC eine Verbindung zu der Datenbank auf dem Server her und fuehrte dort vorkompilierte SQL- Befehle aus. In allen Faellen waren die jeweiligen SQL-Anweisungen und die Datenbankumgebung identisch.

Im ersten Test hat Andersen die Performance bei der Selektion grosser Datenmengen mit umfangreichen Abfragen (rund 32000 Byte) ermittelt. Hierbei wurden mit dem Messaging-Verfahren lediglich 13 Prozent der Zugriffszeit benoetigt, die mit Remote SQL noetig war, und 52 Prozent der Zeit, die das RPC-Verfahren beansprucht. Im einzelnen benoetigte die Zugriffstransaktion bei insgesamt 500 Datenbankeintraegen beim RPC mehr als eine Sekunde, bei SQL sogar mehr als fuenf Sekunden. Lediglich das Messaging unterschritt die Marke von einer Sekunde deutlich, erklaeren die Tester.

Besteht die Datenbankbasis aus 300 beziehungsweise 400 Eintraegen, verkuerzt sich die Zugriffszeit bei allen drei Kommunikationsmethoden. Allerdings ueberschritt sie beim RPC weiterhin die Sekundengrenze und beim Remote SQL betrug sie gar mehr als 3,5 Sekunden.

Selbst beim Zugriff auf kleine Datenmengen mit kurzen Abfragen (100 Byte) erwies sich das Messaging-Verfahren als ueberlegen. Es kam mit sechs Prozent der von Remote SQL und acht Prozent der vom RPC benoetigten Zugriffszeit aus. Remote SQL benoetigte bei insgesamt 500 Datenbankeintraegen ueber 1,1 Sekunden fuer den Zugriff, mit RPC wurden mehr als 0,8 Sekunden gemessen. Lediglich mit Messaging blieb die Zugriffszeit bei unter 0,1 Sekunden (0,06 Sekunden). Dieses Verhalten erwies sich als weitgehend konstant - auch bei Datenbankgroessen von 300 und 400 Eintraegen.

Die Foundation-Organisation wertet die Testergebnisse als "Bestaetigung der Vorteile Message-basierter Kommunikationsverfahren im Vergleich zu den populaeren Verfahren Remote SQL und Remote Procedure Call". Bei den Messungen sei nicht einmal beruecksichtigt, dass eine aus mehreren Datenzugriffen bestehende Geschaeftstransaktion, wie sie in der Praxis ueblich sei, die Vorteile Message-basierter Anwendungsarchitekturen noch deutlich verstaerke.

Auch in einer solchen Situation werde beim Messaging lediglich eine Anforderungs- und eine Antwort-Message fuer die gesamte Transaktion benoetigt. Ausserdem wollten gerade grosse Anwender haeufig nichtrelationale Datenbestaende einbinden.