kontakt

+49 421 20696 - 0
info@team-neusta.de

Ein Portal, ein Tor zum personalisierten Content – Teil 9

Performance von Unternehmensportalen

Dank der rasanten Weiterentwicklung von Internet- und Intranet-basierten
Technologien innerhalb der letzten Jahre, verlagern immer mehr
Unternehmen ihre kritischen Applikationen in Richtung webbasierten
Technologien. Der Sprung von einer traditionellen Client-/Server-Applikation
im LAN in Richtung webbasierter Intranet-Lösung erhöht statistisch
gesehen die Anzahl der gleichzeitig verbundenen Benutzer pro Server und
auch die damit verbundenen Risiken.
Weltweit anerkannte wissenschaftliche Studien zeigen, das die überwiegende
Mehrheit der Nutzer – nämlich über 80% – bereits nach nur 8
Sekunden Wartezeit nach einer manuellen Interaktion in einer graphischen
Benutzeroberfläche den Fokus, also ihre Aufmerksamkeit auf den zu
erledigenden Task, verlieren.

Gleiches gilt auch wenn ein GUI zu überfrachtet ist oder zu viele Elemente
geladen werden oder gar aufgrund technischer oder planerischer
Unzulänglichkeiten Anwendungen zeitweise gar nicht erreichbar sind.
Daraus resultiert, dass Anwender am Ende mit der Gesamtleistung des
Portals unzufrieden sind. Da die Akzeptanz eines EAI-Projektes und einer
unternehmensweiten Portalinitiative zum einen eng mit der Kommunikation
und ausreichenden Schulung der Mitarbeiter, zum anderen aber auch sehr
stark von der allgemeinen Benutzer-Zufriedenheit abhängt, werfen wir nun
einen detaillierten Blick in die verschiedenen Methoden zur Performance-
Analyse und den resultierenden möglichen korrektiven Aktionen.
Dem Thema „Performance“ sollte man sich stets in einem dedizierten
Projektrahmen, am besten mit einer CMMI-ähnlichen Ausrichtung annehmen.
Performanceverbesserung ist ein kontinuierlicher in sich geschlossener
Prozess, bestehend aus Messungen, Analysen, Rückschlüssen und
korrektiven Aktionen sowie der Dokumentation und vergleichenden
Messung des Erfolges inklusive eines verständlichen Reportings.

Starken Einfluss hat, sowohl aus technischer als auch organisatorischer
Sicht, naturgemäß die Art und Ausrichtung des Portals. Denn ein internes
Mitarbeiterportal, welches fast ausschließlich von meist standardisierten
und identisch konfigurierten PCs innerhalb eines WAN genutzt wird hat
andere Performanceansprüche als zum Beispiel ein extern über das Internet
verfügbares Lieferantenportal für Kunden, die geographisch auf dem
ganzen Globus verteilt sind und die mehrere integrierte hochkritische
Supply-Chain-Applikationen via Applets nutzen.

Alle Anwendungen leiden unter Performanceproblemen! Diese Probleme zu
ignorieren kann unter Umständen sehr gefährlich werden, unter Umständen
die komplette Infrastruktur destabilisieren und die Portalinitiative
insgesamt gefährden. Manche Fehler und Probleme lassen sich sofort
erkennen, manche nur unter Lastbedingungen. Deswegen lassen sich die
meisten Performanceprobleme nur schwer bereits in der Entwicklungsphase
eindeutig identifizieren.

Deswegen ist kontinuierliches Testen der Applikations-Performance in
Unternehmen sehr ernst zu nehmen. Nur wenn man früh genug
Entscheidungen zur Implementierung von Lastgeneratoren und Sonden
trifft und zum Beispiel innerhalb des Codes zuschaltbare detaillierte
Loggingfunktionen vorsieht, kann man etwaige Risiken früher oder später
auf mögliche Bottlenecks treffen und so effektiv minimieren. Das Hauptziel
von Performance-Testaktivitäten ist herauszufinden, wie ein IT-System
unter Last reagiert, und viel wichtiger: Wie weit es dabei skalierbar ist.

Unter Zuhilfenahme automatisierter Load-Testing-Tools, ist man in der Lage
genügend Last zu erzeugen und über intelligente Skripte echtes
Benutzerverhalten zu simulieren. Diese Art von Test ist sehr gut geeignet,
um neue Software-Releases oder Updates zu testen und um Rückschlüsse
auf deren Performance unter höherer Last zu ziehen. Um echte
Benutzersitzungen zu emulieren, kann man in solchen Tools sogenannte
virtuelle User erstellen.

Virtuelle User simulieren dabei echte Benutzersitzungen durch das
Abspielen mehrerer aufgezeichneter Interaktionen und können dabei
mehrere Rollen oder tatsächlich vorkommende unterschiedliche Nutzer
simulieren. Jedes Mal wenn Veränderungen am System vorgenommen
werden, sollte man vergleichende Load-Tests zur Dokumentation ausführen.

Systemanalyse

Im Rahmen von Performancemessungen spielt die gründliche Vorbereitung
eine sehr große Rolle. Man sollte möglichst viele Informationen und Logs der
zu testenden Infrastruktur zur Planung der Testreihen besorgen.

Zahlen zu aktuellen Nutzungsstatistiken: Die durchschnittliche Zahl
konkurrierender Benutzersitzungen, die Anzahl der eingerichteten Nutzerkonten
und die Kenntnis über die Haupt-Anwendungspfade sind sehr
wichtig für die spätere Testplanung.

Erstellung der virtuellen Benutzerprofile

In der Realität tätigen unterschiedliche Benutzerprofile auch unterschiedliche
Aktionen in Ihrem Portal. Man sollte sich im Rahmen von Tests immer
möglichst der reellen Verteilung dieser Benutzerprofile annähern. Einfach
die Homepage des Portals hundert Mal pro Minute abzurufen ist dabei keine
gute Idee und wenig realitätsbezogen. Die Lösung ist, ein Lastprofil zu
erzeugen das auf einem häufig benötigten und im Portal ausgeführten
realen Business-Case aufsetzt und exakt diesen Job im Rahmen des Tests
simuliert.

Benutzeraktivitäten

Einige Aktionen passieren häufiger als andere und sind mehr oder weniger
ressourcenhungrig, aus diesem Grund sollte diese Verteilung auch im
Rahmen der Testskripte abgebildet sein. Um möglichst nah an die Realität
heranzukommen , sollte man alle verschiedenen Aktivitäten des Portals in
den Skripten abbilden. Mehrere solcher Aktivitäten lassen sich zu einer
Session zusammenfassen. Von allen aktiv verbundenen Portalbenutzern
browsen einige lediglich über die verschiedenen Inhalte während andere
Einstellungen an den Portlets vornehmen oder wieder andere administrative
Tasks in der Managementkonsole für eingebettete Portal-Channels vornehmen.

Think Times

Die Zeit, die ein Endbenutzer damit aufbringt die empfangenen Informationen
zu „verarbeiten“ hat einen großen Einfluss auf die globale Performance.
Verschiedene Benutzer und verschiedene Tasks erfordern unterschiedlich
hohe Antwortzeiten bis zur nächsten Interaktion. Manche Nutzer
lesen die erhaltenen Informationen nur schnell quer, während andere
deutlich genauer den Inhalt lesen, bevor sie zur nächsten Seite wechseln.
Diese Zeitspanne nennt sich „Think Time“. Diese Zeit ist generell die
Zeitspanne zwischen dem Empfang des letzten Bytes und der nächsten
(manuellen) Interaktion des Benutzers.

Die Unterschiede zwischen den verschiedenen repräsentativen Tasks innerhalb
eines Portals im Hinblick auf den jeweiligen Ressourcenbedarf zu
erkennen ist eine wichtige Aufgabe. Der beste Ansatz die Art und Natur
einer Benutzersitzung zu beurteilen besteht darin, sich auf die
verschiedenen Variablen zu konzentrieren:

  • Länge der Benutzersitzung (Anzahl der Portal-Seitenimpressionen)
  • Dauer der Benutzersitzung (in Minuten oder Sekunden)
  • Art und Anzahl der besuchten Informationen (oder Tasks)

Zusätzlich zu diesen drei rudimentären Variablen sollte man zusätzlich noch
weitere performancerelevante Werte in die globale Performancemessung
hinzuziehen: Zum Beispiel eine Benutzersitzung, die weitaus mehr Traffic
auf der Datenbank verursacht, da während der Sitzung viele KPIs aus
verschiedenen angeschlossenen Applikationen über Reporting-Portlets
abgerufen werden.

Nutzungsprofile

Webapplikationen und öffentlich zugängliche Portale sind naturgemäß
hohen lasttechnischen Schwankungen, abhängig von der geographischen
Verteilung der Nutzer unterworfen. Ein nationales Portal in deutscher
Sprache wird z.B. deutlich weniger Nutzersitzungen zwischen 23:00h und
07:00h aufweisen, als in der ganzen restlichen Zeit. Um möglichst
aussagekräftige Testszenarien zu generieren, sollte man sich diese
Verteilung der Zugriffe für die Dauer der Ramp-Up-Phasen und Peak-Zeiten
genau ansehen und wenn möglich im Rahmen der Testskripte versuchen
diese ebenfalls zu berücksichtigen.

Testvolumina

Die Auslastung (Testvolumina) ist die erzeugte Aktivität, die auf dem zu
testenden Portal erzeugt wird. Sie summiert sich aus der Anzahl der
virtuellen Nutzer, der Anzahl der Transaktionen und der Testdauer. Die
richtige Auslastung zu finden ist eines der größten Probleme bei der
Planung von aussagekräftigen Tests.
Man unterscheidet dabei zwei verschiedene Ansätze:

  • Gleichbleibende Auslastung – Sie ist die simpelste Methode auf dem Zielsystem Last zu erzeugen, während des gesamten Tests wird eine fest definierte Anzahl von virtuellen Benutzern simuliert.
  • Ansteigende Auslastung – Dieses Testmodell beginnt mit einer kleinen Anzahl von simulierten Nutzersitzungen und fügt im laufe der Ausführung stetig weitere Nutzer hinzu. Dieser Test-Typ hilft die maximale User-Session-Grenze von Portalanwendungen herauszufinden.

Fortsetzung in Teil 10:

Im nächsten Teil geht es weiter um die Performance von Unternehmensportalen und das im Zusammenhang mit der Performance-Überwachung und den verschiedenen Arten von Performance-Tests

Lesen Sie hier ab dem 16.10 den Teil 10

Share

Kommentare