.NET-Anwendung zum Aufwärmen

1668
boj

Wir haben Geschwindigkeitsprobleme in der Unternehmensumgebung.

Die meisten Notebooks sind stark geladen: Die Startzeit von Excel beträgt 3-5 Minuten, Outlook 10-15 Minuten usw.

Unsere Anwendung hat die gleiche Startzeit anstelle der normalen 10-20 Sekunden. Wenn es einmal gestartet ist, funktioniert es nach einem Neustart des Programms einwandfrei.

Wie ist es möglich, unsere Anwendung aufzuwärmen?

Mein erster Gedanke war, ein kleines Skript zu schreiben und direkt vor dem Start unserer Anwendung auszuführen:

  • Verbinden Sie sich mit dem lokalen SQL Server und erhalten Sie einige Daten
  • Baugruppen vorladen
  • ???

Aber ich denke, es ist nicht genug - oder ein totaler Fehler.

Bearbeiten:

Sie verfügen über IBM Thinkpad X40-Notebooks mit 1 GB RAM. Spezialisiertes Windows XP installiert (ich denke, dass diese + Hintergrundinstallationsprogramme die Wurzel aller unserer Probleme sind).

3
10 - 15 Minuten, um Outlook zu starten! WTF? vor 14 Jahren 9
Ja ... ein normaler Windows-Boot ~ 20 Minuten. Grusel. vor 14 Jahren 0
Sieht aus, als müsste jemand ein Upgrade von diesen Pentium II durchführen Matthew Ruston vor 14 Jahren 5
Was sind die Spezifikationen dieser Notebooks? Rick vor 14 Jahren 0
Zum Superuser umbuchen. vor 14 Jahren 3
Wenn andere Apps so viel Zeit zum Laden benötigen, wird Ihrer App sicherlich kein Skript helfen. Wie schnell kann eine einfache Konsolen-App geladen werden? vor 14 Jahren 1
Dies ist kein Programmierproblem, sondern ein Hardwareproblem. Wenn Ihre Anwendung langsam ist, während alle Ihre anderen Anwendungen keine Programmierprobleme darstellen. Patrick Desjardins vor 14 Jahren 0
Dies ist das klassische Software- / Hardwareproblem: Hardware-zentrierte Leute sagen, es ist ein Problem mit der Software (zB * warum nicht einfach auf Linux umsteigen? Es läuft auf 386s! *) Und Software-Leute sagen, es ist nur ein Hardwareproblem (*). ach komm schon, es muss sein, weil du nicht den neuesten Core Ikickass benutzt! *) Robert P vor 14 Jahren 2
@Groo: Ich werde es testen, gute Idee. @Daok: true ... aber wenn der zweite Start schnell ist, dann muss es eine Lösung geben. @ Robert: aber vielleicht nicht jetzt :) vor 14 Jahren 0

10 Antworten auf die Frage

8
Dale Reidy

Wenn die Maschinen so stark unter Strom stehen, würde ich Ihren Vorgesetzten argumentieren, dass die Probleme in der IT-Bereitstellung des Unternehmens für die Mitarbeiter liegen. Ich würde sagen, jede Entwicklungszeit, die wir damit verbringen, wäre schlecht.

6
sventevit

Vielleicht ein bisschen naiv, aber immer noch ... Format & Reinstal Windows :-)

Die Firma hat ~ 300 Notebooks ... wie gesagt, die Unternehmensumgebung. Das ist also nicht wirklich eine Option :) vor 14 Jahren 1
vielleicht auf der Box zu Hause, aber die Unternehmens-IT funktioniert nicht so vor 14 Jahren 2
Wenn Ihr Unternehmenssystem keine Möglichkeit zur Massenreformatierung von Laufwerken hat, kaufen Sie eine. Das ist es wert. Robert P vor 14 Jahren 1
4

Möglicherweise handelt es sich um ein Roaming-Profilproblem? Ich kenne Ihr Programm nicht, aber Excel und Outlook verwenden den Benutzerordner, der wahrscheinlich für jedes Active Directory-Konto irgendwo in Ihrem Unternehmensnetzwerk gespeichert ist. Ich vermute, dass entweder das Netzwerk oder das Speichersystem für Ihre über 300 Benutzer zu langsam ist.

3
Rick

Was meinst du stark geladen?

Aufgrund Ihrer Symptome könnte das Problem sein, dass sie nicht über genügend RAM verfügen. In diesem Fall müssen Sie beim Start Ihrer Anwendungen zuvor ausgeführte Anwendungen in den virtuellen Speicher austauschen.

Wenn Sie diese Anwendung schließen und sofort neu starten, haben Sie freien Speicher, damit sie schnell neu gestartet werden kann.

Aber es ist nicht gut, wenn Sie in der Zwischenzeit etwas anderes tun, z. B. Outlook öffnen, Outlook schließen, Excel öffnen - einige Arbeit erledigen, wenn Sie Outlook erneut öffnen, wird es nicht schnell geöffnet, dh Ihr ursprünglicher Vorschlag, zu versuchen und automatisch zu öffnen und schließen Sie Ihre Anwendung (beim Booten?) hilft nicht.

Ich meine, etwas funktioniert immer im Hintergrund: Installer, Sicherheitsanwendungen usw. Ich habe es getestet: Die Hälfte des Arbeitsspeichers ist leer (0,5 GB), die CPU-Auslastung liegt bei ~ 8-10% ... aber immer noch soooo freakin 'langsam . vor 14 Jahren 0
3
David Basarab

Hier ist ein schöner Artikel zum Beschleunigen einer Anwendungsstartzeit.

Anwendungsstartzeit verbessern

In den vergangenen Monaten traf sich das CLR-Leistungsteam mit mehreren Kunden, um Leistungsprobleme in einigen ihrer Anwendungen zu untersuchen. Ein wiederkehrendes Problem war die Startzeit der Clientanwendung. In dieser Kolumne stelle ich Ihnen Lektionen vor, die wir bei der Analyse dieser Anwendungen gelernt haben.

Planung für die Leistung Ihr Erfolg beim Erreichen Ihrer Leistungsziele hängt von dem von Ihnen verwendeten Prozess ab. Ein guter Prozess kann Ihnen dabei helfen, die Leistung zu erreichen, die Sie benötigen. Diese vier einfachen Regeln helfen dabei:

guter Artikel ... eine Chance, wir könnten einen zusammenfassenden Auszug anstatt einen Teaser-Auszug bekommen? vor 14 Jahren 4
2
Florian Doyon

Sie sollten auch verteilte, optimierte native Assemblys in Betracht ziehen, die beim Start / frühen App-Lebenszyklus der JIT etwas Arbeit abnehmen.

Schauen Sie sich NGEN an, es ist im Grunde JIT zur Kompilierzeit und eine andere Vorlademagie!

http://msdn.microsoft.com/en-us/library/6t9t5wcf%28VS.80%29.aspx

Prost, Florian

1
Klay

Sie oder jemand, der etwas Einfluss hat, sollten in der Lage sein, dem Management wegen der exorbitanten Anlaufzeiten ein gutes Argument zu geben. Es sollte klar sein, dass sich die Kosten für die Aufrüstung des Arbeitsspeichers in sehr kurzer Zeit in einer erhöhten Produktivität bezahlt machen würden. Wenn Sie viermal täglich 15 Minuten warten müssen (eine konservative Schätzung, da bin ich sicher), verlieren Sie jeden Tag 12,5% Ihres Arbeitstages. Multiplizieren Sie dies mit 300 Laptops und ...

Oh, du musst für eine Bundesbehörde arbeiten!

das ist vereinbart - aber was können wir als kleiner Anbieter gegen das große Unternehmen tun? :) vor 14 Jahren 1
1

Welche Metriken sehen Sie über den Task-Manager?

Welcher Prozess verbraucht am meisten CPU?

Welche Prozesse verbrauchen RAM?

Wird im Hintergrund ein Antivirenprogramm ausgeführt, das bei jedem Start eines Computers einen vollständigen Scan durchführt?

Wie viele Seitenfehler bei welchen Prozessen?

Was ist die Konfiguration von Computern und welche Software?

Sie haben normale Werte für CPU und RAM, ich werde Ihre letzten 3 Fragen prüfen. Aber was bedeuten Seitenfehler? (Ich verwende den sysinternals-Prozess-Explorer. Ich habe detaillierte Seitenfehlerinformationen. Der Task-Manager ist auf den Maschinen deaktiviert.) vor 14 Jahren 0
IBM Thinkpad X40 mit speziellem Windows XP. Die Software läuft unter .NET 1.1 und verwendet MSDE als Datenbankserver. vor 14 Jahren 0
1
Psycogeek

Es gibt Möglichkeiten, die Belotion, das System und verschiedene Programme herauszuschreiben. Sowohl das Löschen von unnötigem Müll, der sich im gesamten System befindet, als auch das Deaktivieren von "Features", die häufig überhaupt nicht vorhanden sind. Wenn ich in Ihrer Situation wäre, würde ich ONE nehmen und es niederschlagen, und jedes Mal, wenn ich etwas Völlerei und Lüsterei fand, schrieb ich das in mein einfaches Skript. sowohl aus der Registrierung mit sehr einfachen Entfernungsstapeln und von den Datenträgern als auch aus dem Startup- und Service-Junk heraus. dann würde ich die hergestellte Formel auf der Maschine testen, die ich hatte, dann ein weiteres kleines Schweinchen leihen und auch das Fett entfernen. Fügen Sie die Netzwerkverbindungstypen und -parameter für Netzwerkverbindungen hinzu.

Sobald ich mir sicher war, dass die Operation ohne Belotion und Faultier voll ist, würde ich auf jeder Maschine eine schnelle Sicherung durchführen, dann die alte Fettabsaugung durchführen und die Funktion testen. eine nach der anderen, eine funktionsfähige Maschine an die Benutzer zurückliefern. Sobald das Wort herauskam, strömten sie zu Ihnen und ließen sich als Nächstes erledigen.

0

Wie Simon oben angedeutet hat, sollte dies nicht die Art von Problem sein, mit dem Sie versuchen, ein Warmup-Skript zu verwenden. Ich würde ernsthafte Hardware- und Software-Upgrades vorschlagen. Ich meine 15 Minuten, um den Ausblick zu beginnen.