Klaus: Wie Performance Webapplikation verbessern?

Hallo,

mein Auftraggeber stellt seinen Mitarbeitern eine Java-basierte Webapplikation zur Verfügung, die es erlaubt über eine Webschnittstelle Kundendaten (Adressen etc.) abzurufen.

Die Mitarbeiter schimpfen, dass der Datenabruf zu lange dauert.

Nun soll ich mir Gedanken machen, wie man clientseitig (WIN XP Notebook mit Internet Explorer + Modem/ISDN) die Performance dieser Anwendung beschleunigen kann.

Das Nadelöhr sind natürlich Verbindung und Java-Applikation. Die Heilige Kuh darf ich aber nicht betrachten. Am Internet Explorer oder am Win XP gibt es aber keinen Schalter, mit dem man den Seitenaufbau von Webapplikationen dramatisch beschleunigen kann. :-(

Habt Ihr eine Idee?

Dank & Gruss

Klaus

  1. Hi,

    Nun soll ich mir Gedanken machen, wie man clientseitig (WIN XP Notebook mit Internet Explorer + Modem/ISDN) die Performance dieser Anwendung beschleunigen kann.

    hmm, ein ganz spezielles SP fuer Win XP installieren. Oder das Speed-Update fuer die JVM? Oder am BIOS des Clients was drehen?   ;-)

    Gruss,
    Ludger

    --
    "Die SPD im Auifwdins?"
  2. Hmmm.. Clientseitig... Also eigentlich macht der Client ja nix, außer die Datender WebApplikation zu rendern... Da wird wohl kein Steigerungspotential drin sein. Tuningmaßnahmen sollten da definitiv im Backend vorgenommen werden. *g* Falls es da doch was tolles gibt, bin ich sehr interessiert... :-)

  3. Hi!

    Nun soll ich mir Gedanken machen, wie man clientseitig (WIN XP Notebook mit Internet Explorer + Modem/ISDN) die Performance dieser Anwendung beschleunigen kann.

    Da wird sich nicht recht viel machen lassen, d.h. es gibt keine Möglichkeit den Client so zu verändern, dass das auch noch Auswirkung auf den Server hat. Stelle dir doch mal vor, was das für eine latente Sicherheitsgefahr darstellen würde!

    Das Nadelöhr sind natürlich Verbindung und Java-Applikation. Die Heilige Kuh darf ich aber nicht betrachten. Am Internet Explorer oder am Win XP gibt es aber keinen Schalter, mit dem man den Seitenaufbau von Webapplikationen dramatisch beschleunigen kann. :-(

    ADSL?

    Grüße,
    Fabian St.

    --
    Endlich online: http://fabis-site.net
    --> XHTML, CSS, PHP-Formmailer, Linux
    Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)
  4. Moin!

    Nun soll ich mir Gedanken machen, wie man clientseitig (WIN XP Notebook mit Internet Explorer + Modem/ISDN) die Performance dieser Anwendung beschleunigen kann.

    Du mußt zunächst prüfen, welcher Teil des Vorgangs die Zeit verbraucht. Dauert die Datenbankabfrage so lange, oder dauert die Datenübertragung so lange, oder dauert die Datendarstellung auf dem Client so lange?

    Entsprechend deiner Feststellung kannst du dann ansetzen, etwas an der Performance zu verbessern:

    • wenn die Datenbankabfrage so lange dauert, kannst du am Client absolut nichts ausrichten, sondern es muß an der DB auf dem Server gedreht werden. Punkt.

    • gegen zu lange Datenübertragungszeiten auf der Leitung hilft eigentlich nur eine effizientere Datenübertragung. Hier im Forum wird beispielsweise alles transparent komprimiert, wenn der Browser dem Server sagt, er würde das auch verstehen. Auf diese Weise wird die Hauptdatei von mehreren hundert Kilobyte Größe des reinen HTMLs reduziert auf kaum mehr als 40 KB. Stichwort hierfür ist "mod_gzip", ein Modul für den Apache-Webserver, welches das Komprimieren erledigt. Veränderungen an dieser Stelle erfordern zwingend ein Eingreifen sowohl am Client als auch am Server.

    • und gegen lange Darstellungszeiten kannst du natürlich nur was am Client tun. Du hast nicht von "Browserapplikation" gesprochen, deshalb gehe ich mal davon aus, dass meine folgende Ausführung nicht zutrifft, aber als Beispiel für das, was ich meine, sollte es anschaulich sein: Browser haben die Angewohnheit, eine HTML-Tabelle erst dann darzustellen, wenn diese komplett übertragen wurde. In der Zwischenzeit passiert auf dem Bildschirm nichts. Es ist also blöd, wenn eine mehrere hundert Datensätze lange Tabelle geladen wird und der Benutzer ewig wartet, nur weil der Browser lange an dieser Tabelle herumrechnet. Besser wäre, die Tabelle in Einzeltabellen zu zerlegen, die z.B. alle zehn Datensätze unterbrochen wird. Dann sieht der Benutzer sehr schnell schon mal einen Teil.

    Und natürlich kann man sich auch noch mal betrachten, welche Daten denn da tatsächlich über die Leitung gehen, und ggf. über bessere Caching-Mechanismen nachdenken. Die sind aber relativ sinnlos, wenn tatsächlich nur die Daten übertragen werden, und jede Datenabfrage tatsächlich neue, vorher noch nie übertragene Daten enthält.

    Das Nadelöhr sind natürlich Verbindung und Java-Applikation. Die Heilige Kuh darf ich aber nicht betrachten. Am Internet Explorer oder am Win XP gibt es aber keinen Schalter, mit dem man den Seitenaufbau von Webapplikationen dramatisch beschleunigen kann. :-(

    Habt Ihr eine Idee?

    Ich würde den Auftrag wegen Unerfüllbarkeit spätestens dann zurückgeben, wenn deine Prüfung des Ist-Zustandes ergeben hat, dass der Server für die langsamen Datenabfragen verantwortlich ist. :)

    - Sven Rautenberg