Wir haben ein paar große Lösungen mit jeweils etwa 40 einzelnen Projekten (Klassenbibliotheken und verschachtelte Websites). Es dauert ungefähr 2 Minuten, um alles komplett neu zu machen.So verkürzen Sie Zeit vor Daten nach dem ersten Treffer im Browser
Ein paar Angaben auf dem System:
- Visual Studio 2005, # C
- Primary Projekt ist eine Web Application Project
- 40 Projekte insgesamt (4 Webprojekte)
- Wir verwenden der interne VS-Webserver
- Wir verwenden ausgiebig Benutzersteuerelemente, bis hin zu einem Benutzersteuerelement, das ein Textfeld enthält
- Wir haben AC ouple von Inline - Webprojekten, die es uns ermöglichen, eine Teilbereitstellung durchzuführen
- Über 120 Benutzersteuerelemente
- Etwa 200.000 Zeilen Code (inkl. HTML)
- Wir verwenden Source Safe
Was ich möchte, ist wissen, wie die Zeit zu bringen dauert es, wenn die Seite mit einem Browser zum ersten Mal treffen. Und ich spreche nicht über die vollständige Bereitstellung von Post - ich spreche über eine kleine Änderung im Code, Build, Browser aktualisieren.
Dieser erste Treffer dauert etwa 1 Minute und 15 Sekunden, bevor die Daten zurückkommen.
Um die Dinge zu beschleunigen, habe ich ein wenig mit Ram-Festplatten experimentiert, insbesondere die <Kompilierung> Attribut in web.config, Festlegen der TempDirectory auf meine Ram-Festplatte. Dies beschleunigt die Dinge ein wenig. Interessanterweise wurde dadurch der Zugriff auf alle IOs während des ersten Treffers vom Browser vollständig entfernt.
Bemerkungen
Wir machen nie eine vollständige Kompilierung während der Entwicklung, nur teilweise. Zum Beispiel wird die Klassenbibliothek, an der gerade gearbeitet wird, kompiliert, und dann wird die Hauptseite kompiliert, die dann die Binärdateien von der Klassenbibliothek in das Verzeichnis bin kopiert.
Ich verstehe, dass die asp.net-Engine alle Ascx/Aspx-Dateien analysieren muss, nachdem kritische Dateien geändert wurden (bin Dir zum Beispiel), aber was ich nicht verstehe, ist, warum es das nur wann tun muss eine Bibliothek dll wurde geändert.
So jemand weiß von einem Weg, entweder: Sub-Segment die Lösungen, um schnellere erste Treffer oder Feinabstimmung Einstellungen in Config-Dateien oder etwas zu bieten.
Und noch einmal: Ich spreche nur über die Entwicklung, NICHT Produktionsbereitstellung, so dass die vorkompilierte Kompilierungsoption nicht anwendbar ist.
Danke, Ruvan