Optimierung von Client/Server-Anwendungen

25.03.1999

FRANKFURT: Immer mehr unternehmenskritische Client/Server-Anwendungen kommunizieren auch über das Internet. Da sie aber für LANs konzipiert wurden, verhindern dann hohe Antwortzeiten eine optimierte Auslastung der Netz-Ressourcen. Um dennoch dafür zu sorgen, sind Analyse-werkzeuge gefragt, schreibt Bernd Weidmann*.Im Zuge des Globalisierungsprozesses kommen mehr und mehr unternehmenskritische Client/Server-Anwendungen zum Einsatz. Bei der Einführung im Wide Area Network (WAN) stellt sich jedoch häufig heraus, daß hohe Antwortzeiten eine optimale Auslastung der Ressourcen verhindern. Die Ursache liegt oft in Versäumnissen während der Entwicklungsphase. Entwickler entwerfen ihre Produkte in isolierten LAN-Umgebungen (Local Area Network) mit hohen Bandbreiten. Das zukünftige Verhalten der Applikation im WAN kann unter diesen Bedingungen jedoch nicht vorausgesagt werden. Daher ist es für eine Optimierung sinnvoll, das Verhalten vor dem Einsatz der Applikation im WAN zu prüfen. Dabei steht sowohl das Anwendungsverhalten im Netz als auch die Leistungsparameter des Netzwerkes im Mittelpunkt der Betrachtung.

Verzögerungen in LAN und WAN

Verzögerungen sind die Summe von Übertragungszeiten und entstehen bei den Clients, beim Datentransfer im Netzwerk und am Server. Im LAN sind Medien-Zugriffs-Zeiten für hohe Antwortzeiten verantwortlich. Mit zunehmendem Datenverkehr steigt die Zahl der Kollisionen, und es kommt zu Retransmissions, die die Antwortzeiten erhöhen. Für eine Verlangsamung der Kommunikation im WAN sind dagegen die beträchtlichen Übertragungswege verantwortlich, die die Datenpakete in den Netzen zurücklegen. Außerdem gibt es Verzögerungen, wenn mehrere Netzwerkkomponenten dieselbe Verbindung nutzen oder besonders große Datenpakete verschicken wollen. Auch falsche Schaltungen und korrupte Datensätze können die Übertragungsraten senken. Schließlich ergeben sich Engpässe, wenn Router nicht über ausreichend Speicherplatz verfügen, um den Datenstrom in eine Warteschlange zu lenken. In diesem Fall gehen Datenpakete verloren.

Die Applikations-Aanalyse

Mit der Applikations-Analyse können Entwickler und Administratoren die beschriebenen Probleme dokumentieren und das zukünftige Verhalten von Client/Server-Anwendungen analysieren und optimieren. Der Application Expert von Optimal Networks verfolgt beispielsweise Tasks, die von Anwendungen ausgelöst werden. Dabei zeichnet er anwendungs- und netzspezifische Parameter auf und visualisiert das Datenmaterial. Auf dieser Grundlage erfolgt die Optimierung der Anwendung. Je früher Entwickler, Systembetreuer und Projektleitung zusammenarbeiten und die Applikations-Analyse einsetzen, desto eher können Leistungseinbußen vermieden werden.

Vorhersage von Antwortzeiten

Anhand einer E-Commerce-Anwendung sollen einzelne Arbeitsschritte der Applikations-Analyse kurz skizziert werden. Im Beispiel senden Clients über Internet-Service-Provider oder Direktzugriffe Anfragen an einen Web-Server, der diese an einen Applikations- und einen Datenbank-Server weiterleitet. Clients und Server bilden hierbei eine Kette, die immer mehr Benutzerdaten generiert und einen regen Informationsfluß auslöst.

Die Analyse von Engpässen setzt zunächst bei der Struktur von komplexen Datenübertragungen an. Anschließend sind Antwortzeiten von Netz- und Systemkomponenten interessant. Ziel ist die Vorhersage der Zeiten bei verschiedenen Zugriffen. Mit diesem Datenmaterial können Service Level Agreements (SLA) für Enduser-Antworten vereinbart und verifiziert werden.

Für hohe Antwortzeiten sind unter anderem langsame Datenbank-Server und unzweckmäßige Transport-Protokolle verantwortlich. Aber auch

eine mangelhafte Abstimmung des Anwendungsdesigns auf das WAN-Kommunikationsprofil kann die Laufzeiten erhöhen. Im Beispiel wurde die Verteilung der Antwortzeiten ermittelt. Aus der Analyse geht hervor, daß der größte Anteil einer Client-Anfrage auf den Web-Server entfällt. Platz zwei wird vom Client belegt.

Im nächsten Schritt wird das Verhältnis von Nutzdaten zu protokollarischem Overhead verglichen. Die folgende Grafik zeigt, daß ein Großteil der Kommunikation über kleine, ineffiziente Datenpakete läuft und daher der Overhead unverhältnismäßig hoch ist.

Java und Distributed Objects

Da immer häufiger Java-Anwendungen und verteilte Objekte zum Einsatz kommen, steigt auch der Bedarf nach entsprechenden Instrumenten zur Fehlersuche und Optimierung. Wie im Beispiel geht es auch hier darum, das Antwortzeitverhalten von java-basierenden Anwendungen vorherzusagen und deren Leistungsparameter für eine Migration in eine WAN-Umgebung anzupassen.

Mit dem Application Expert lassen sich java-basierende Applets dekodieren, die mit Client und Web-Server kommunizieren. Eine ausführliche Berichtsliste informiert über die Zeit, die jedes Netzwerksegment benötigt, um verschiedene Java-Klassenmerkmale zu laden, und hebt auf diese Weise die Ursachen von Verzögerungen bei Transaktionen hervor. Optimal Networks wird zukünftig auch verteilte M3-Umgebungen von Bea sowie das Internet Inter Object Request Broker Protocol (IIOP) für verteilte Architekturen unterstützen.

Argumentationshilfen für den Fachhandel

Für den Vertrieb von Applikations-Analyse-Software sind drei Verkaufsargumente entscheidend: das Entwicklungsverfahren, die kommerziellen Bedürfnisse der Unternehmen und der zukünftige Einsatz von Client/Server-Anwendungen.

Konventionelle Anwendungen werden überwiegend mit der altbekannten Wasserfall-Methode entwickelt. Bei dieser Vorgehensweise erfolgt die Testphase erst nach dem Abschluß der einzelnen, aufeinander aufbauenden Entwicklungsschritte. Der Nachteil dieser Methode besteht darin, daß dem Verhalten von Anwendungen im Netzwerk eine zu geringe Aufmerksamkeit geschenkt wird und die Entwickler netzwerkspezifische Anforderungen nicht beachten. Für Anwendungen im E-Commerce- und Web-Bereich wird inzwischen das progressive Spiral-Development-Modell verwendet. Hier wechseln sich Entwicklungs- und Testphase kontinuierlich ab, und jeder Entwickler ist für den Test seines Codes selbst zuständig. Dementsprechend muß ihm auch ein Software-Analyse-Tool mit einer eigenen Lizenz zur Verfügung stehen. Mittelfristig betrachtet geht der Trend eindeutig zu Spiral Development.

Ein Applikations-Analyse-Tool ist an den kommerziellen Bedürfnissen großer Unternehmen orientiert. Denn wenn eine E-Commerce-Anwendung nur die Hälfte der vorgesehenen Transaktionen täglich verarbeitet, müssen rein betriebswirtschaftlich betrachtet entweder neue Mitarbeiter eingestellt oder der Kundenstamm halbiert werden, um die vorgesehene Leistung zu erzielen. Stattdessen bietet sich die Investition in ein Software-Analyse-Produkt an, mit dem die Antwortzeit einer Anwendung reduziert und die Leistung optimiert werden kann.

Nach Auskunft der IT-Analysten der Yankee Group in Stamford, USA, entsprechen 75 Prozent aller Client/Server-Anwendungen nicht den Zielvorstellungen der Kunden. Insbesondere die Erwartungen hinsichtlich der Antwortzeiten werden durchgehend enttäuscht. Eine weitere Studie hat ergeben, daß im Jahr 2001 zirka 75 Prozent aller geschäftskritischen Anwendungen auf einer Client/Server-Architektur laufen werden. Legt man diese Zahlen zugrunde, dann ist ein steigender Bedarf nach Lösungen, die eine Optimierung von Anwendungen im WAN erlauben, mehr als wahrscheinlich.

Das Verhältnis von Datentransport und protokollarischem Overhead.

Darstellung der Antwortzeiten, die in den einzelnen Kommunikations-Komponenten auflaufen, mittels "Response Time Analysis".

* Bernd Weidmann ist Country-Manager Central Europe bei Optimal Networks Deutschland in Frankfurt.

Zur Startseite