Struts 2 und Dojo-Dateien sind zu schwer und die Website-Leistung beeinflussen .. Alle Heilmittel?

StackOverflow https://stackoverflow.com/questions/327820

Frage

Nun .. wir haben eine J2EE-Anwendung mit struts2 Ajax-Fähigkeiten entwickelt. Wir finden, dass das Dojo Implementierung ziemlich langsam ist. Wir haben die folgenden Dinge: 1. Maßarbeit des Dojo-Bibliothek. (Erhöhte dojo.js von 240kb bis 350kb) 2. Nahm alle statischen Sachen aus dem Streben Glas und hielt es nach draußen.

Die Performance wurde deutlich verbessert. Aber noch ist es ziemlich schwer, wie Sie mit 350kb Größe erraten können ..

Ist struts2 Ajax soll dies schwer sein? oder gibt es eine leichtere Implementierung zur Verfügung?


Edit: Ich habe Firebug und YSlow mit meiner Anwendung. Ein paar Änderungen, die meine Situation enorm verbessert sind nachfolgend aufgeführt:

  1. Benutzerdefinierte Build von Dojo (die Anzahl der I / Os reduziert)
  2. Verschieben Sie die statischen Dateien aus Struts jar (half sehr viel)
  3. Melodie der Server die Antwort (reduziert die Antwortgröße auf 1/3)
  4. gzip
  5. Reduzieren Sie die Anzahl der Bilder auf Ihrer Website. (Diese liegt auf der Hand)

Wird auf weitere Änderungen halten Aktualisierung ..

War es hilfreich?

Lösung

Prüfen Sie zuerst, dass Sie alles auf dem Server haben das Caching zu erleichtern (zum Beispiel rechts HTTP-Header Einstellung, Kompression, serverseitige Caching, Upstream-Caches, und so weiter). Siehe Verbesserung der Leistung ... für weitere Details.

Das Ziel ist, I / O, so viel wie möglich zu reduzieren - verwenden Firebug oder anderes Netzwerk-Traffic-Monitoring-Tool, um zu sehen, wie viel hin und her geschickt. Versuchen Sie, die Anzahl der I / O-Anforderungen und die Gesamtzahl der Bytes zu minimieren.

Vergessen Sie nicht, dass es auch auf Ihre dynamischen Daten gelten -. Effizienten Formaten wählen, mehrere verwandte Anfragen bündeln, entfernen Sie alle Totholz, die immer und immer unverändert wird immer gesendet

Wenn der benutzerdefinierten Build-und serverseitige zwickt nicht helfen, sollten Sie Ihre Web-App Umstrukturierung leichtgewichtiger zu sein. Beispiele:

  • die Splash-Screen-Technik in dem Link oben diskutiert auswerten.
  • Wenn Sie eine Menge verschiedener Form Widgets verwenden, sehen, ob es wirklich notwendig ist, und fallen zurück auf den regulären DOM-Elemente wie „Eingang“, „Taste“, „Textfeld“, „wählen“.
  • Das gleiche gilt für das Layout-Widgets. Sehen Sie, wenn einfache CSS können Sie helfen.
  • Ausrechnen Aufbau Dojo in Schichten statt einer monolithischen dojo.js so nur die notwendige Teilmenge von Webseiten geladen wird. Details finden Sie in

Andere Tipps

Stellen Sie sicher, dass Sie diese FAQ folgen zuerst: http://struts.apache.org/2.x/docs/ Performance-tuning.html

ich in die Regel mein eigenes Thema neu schreiben, anstatt das struts2 Ajax Thema zu verwenden, die Dojo gebaut hat. Auf diese Weise kann ich etwas Toolkit ich verwenden möchte (jQuery) verwenden. Ich sah die größten Leistungsverbesserungen, wenn ich die Vorlagen aus dem Glas in das Stamm Web-Verzeichnis für die Webapp Ordner kopiert.

Zuletzt habe ich geprüft, Streben wurde eine Freisetzung von Dojo Versand (0,4) das ist auf 2 Jahre geht alt. Dojo hat eine Rewrite für Version 0.9 / 1.0, die erheblichen Leistungssteigerungen und reduzierte Codegröße hatte. Sie sollten sicherstellen, dass Sie eine aktuelle Version von Dojo laufen lassen (aktuelle Version ist 1.2.3) und verwenden Sie den Build und Tipps von Eugene, oben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top