Frage

Ich habe eine Ajax.Net aktiviert ASP.Net 2.0 web site.Hosting sowohl für die Website und die Datenbank sind außerhalb meiner Kontrolle, wie ist das Datenbank-schema.Bei der Prüfung auf hardware kontrolliere ich die Website gut funktioniert, allerdings auf dem client-hardware, es gibt spürbare Verzögerungen beim nachladen oder Seiten wechseln.

Was ich tun möchte, ist mein Antrag als kompakt und schnell wie möglich, wenn ich es liefern.Eine Idee ist, legen Sie Ablaufdaten für alle auf der site statischen Ressourcen, so dass Sie nicht daran erinnert auf die Seite geladen ist.Durch Ressourcen, die ich meine, Bilder, verknüpfte Stylesheets und JavaScript-Quelldateien.Gibt es einen einfachen Weg, dies zu tun?

Welche anderen Möglichkeiten gibt es zur Optimierung ein .Net web site?

UPDATE:Ich habe YSlow auf der Website und die Bereiche, in denen ich immer bin, die am stärksten betroffen sind in der Zahl von JavaScript und Stylesheets geladen (23 JS-Dateien und 5 style sheets).Alle außer einem (der Haupt-Stylesheet) eingefügt worden ist durch Ajax.net und Asp.Warum so viele?

War es hilfreich?

Lösung

  1. Script Kombiniert .net 3.5 SP1
  2. Best Practices für schnelle Webseiten
  3. HTTP-Komprimierung (gzip)
  4. Komprimieren Sie JS / CSS (anders als http-Komprimierung, minifizieren von javascript)
    1. YUI Compressor
    2. .NET YUI Compressor

Meine beste Rat ist, zu überprüfen, die YUI Inhalt.Sie haben einige große Artikel, reden über Dinge wie CSS-sprites und haben einige schöne javascript-Bibliotheken, um zu helfen reduzieren die Anzahl der Anfragen der browser macht.

Andere Tipps

Wenn Sie Firefox verwenden, testen Sie Ihre website, die Sie möchten möglicherweise versuchen Sie eine praktische Firefox-Erweiterung von Yahoo!genannt YSlow.

Es analysiert Ihre web-Seiten und bietet Noten von A-F (A die Beste und F die schlechteste) für jedes der besten Praktiken für Hochleistungs-websites.Es wird Ihnen helfen, auf die Spur der Elemente Ihrer website, die Sie optimieren zu gewinnen Beschleunigungen.

Drehen Sie viewstate standardmäßig deaktiviert, es wird ein Unterschied wie Tag und Nacht, auch auf der einfachsten Seiten.

Ich schrieb eine blog post über die Verbesserung ASP.NET Seite Leistung, dass dies ein paar Monate zurück.Hier sind einige schnelle und einfache Möglichkeiten, -

  • Deaktivieren view state
  • Turn-off-Veranstaltung Validierung
  • Implementieren HTTP-gzip/deflate Kompression zu reduzieren die Reaktion der Größe (Anzahl der bytes, die der server sendet an den client zurück)
  • Versuchen, zu optimieren/minimieren Sie Ihre Datenbank-Aufrufe für jede Anforderung

Ich denke, Sie wirklich brauchen, um in der Lage zu bekommen einige echte PerfMon-Daten/Telemetrie aus der app, während in der Produktion ausgeführt werden können, um eine aufgeklärte Entscheidung über das, was zu optimieren.

Als wegwerfen Tipp ich würde sicherstellen, dass Ihre app bereitgestellt wird, als ein Release erstellen und festlegen von debug="false" in der 'Zusammenstellung"Abschnitt Ihrer Website.config.

Sie scheinen ausgehend von der Annahme, dass Ihr problem ist download-Größe - das ist zwar nicht zwangsläufig der Fall sein.Sie sollten tun, einige Experimente mit Ihren ASP.NET Website, um festzustellen, ob es Bereiche im code, die sind verursacht unnötige Verzögerungen.Wenn es stellt sich heraus, dass die download-Größe ist nicht Ihr problem, Sie müssen Wege finden, um cache-Ihre Ergebnisse (Blick in die Ausgabe-caching, das ist ein ASP.NET Funktion) oder optimieren Sie Ihren code.

In jedem Fall - der erste Schritt, wenn man ein performance-Problem ist immer überprüfen Sie Ihre Annahmen erste, dann entscheiden, auf einem Kurs der Aktion.

Sie könnten beginnen, caching-Strategien.Statische Dateien wie CSS (auch komprimiert) und Bildern (sogar optimiert sind), sollten nur heruntergeladen werden müssen, sobald der browser für einen Zeitraum von Zeit.

Scirpt Kombination für AJAX wurde bereits erwähnt, aber ich habe nicht bemerkt Verweis auf die ScriptReferenceProfiler MS hat auf codeplex veröffentlicht helfen, herauszufinden, was zu kombinieren.Mike Ormond hat eine gute starten Punkt auf diesem.

Ein weiterer Tipp, wenn Sie tun eine Menge von Einlagen, um Ihre Datenbank zu überprüfen Sie Ihre server-disk-caching eingeschaltet ist.Fall in Punkt, ich hatte einen datenimporteur tun 1,2 Millionen fügt beim laufen.Dauerte 4 Stunden und können ohne Zwischenspeichern auf.Dauerte 16 Minuten mit ihm auf.

Eine Allgemeine Sache, wenn mit ASP.NET und Ajax (alle Ajax-Bibliothek) zusammen ist, um zu vermeiden, elephanting Ihre Page_Load und Page_Init (und Ihre Methode Kollegen) Dinge, da diese ausgeführt werden auf jedem Ajax-Anfrage.

Wenn das ist, sagte, ich würde ernsthaft Graben ASP.NET AJAX und-Nutzung alles sonst...

Anthem.NET, AjaxPRO.NET jQuery oder was auch immer sonst als ASP.NET AJAX...

Natürlich würde ich verwenden Ra-Ajax mich da, dass ist mein Projekt.Aber dann wieder, ich bin voreingenommen...

Sie könnte biegen auf die Kompression basiert auf dem client-Unterstützung.Finden Sie in diesem Artikel: link text

Statische Ressourcen sollten nicht zurückgesendet werden, es sei denn, geändert.IIS sendet eine Antwort-code, die dem browser mitteilt, verwenden Sie die zwischengespeicherte version.

Sie könnte auch betrachten ASP.NET Zwischenspeichern der Ausgabe, die angewendet werden können, ziemlich Granular, um verschiedene Teile der Seite:

http://msdn.microsoft.com/en-us/library/xsbfdd8c(VS.71).aspx

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