Startgeschwindigkeit einer Forms-Anwendung miit einem RAID-System

pschilling

Erfahrenes Mitglied
Das ist ein Intel RAID 1...

Das es die Zugriffszeiten sind bezweifle ich da andere Applikationen normal schnell starten und ich wenn es daran liegen würde eine Verzögerung von maximal ein paar Sekunden und nicht einer ganzen Minute erwartete..

Ich bin schon am verzweifeln, da diese dll über die letzten Monate hinweg gewachsen ist und bei meinen Tests über verschiedene Plattormen hinweg nie Probleme aufwies..
Wenn ich die jetzt wegen dieser RAID-Problematik umschreiben muss ziehen locker einige Wochen ins Land :(
 

ademo

Mitglied
Schade ich dachte es ist ein exotisches raid das hätte eine Ursache sein können aber bei Raid 1 glaub ich nicht.

Da ich gerade leider auch keine Idee habe und ich verstehe das es Schei*** ist wen du zu viel umschreiben musst.

Deshlab hau ich mal einfach ein paar Ideen ins blaue raus.

- https://www.microsoft.com/germany/msdn/library/net/WindowsFormsAnwendungen.aspx

- Lazy Initialization -->
https://msdn.microsoft.com/de-de/library/dd997286(v=vs.110).aspx

- Ich weiss das es eine möglichkeit gibt den Programmstart zu beeinflussen so das Programme nach mehrmaligem starten der Anwendungs der Start beschleunigt wird. Ich dachte jedoch das es sich dabei um eine Grundeinstellung handelt. Es kann aber natürlich auch sein das dies erst bei späteren .net versionen eingeführt wurde.
Im moment kommt es mir aber gerade nicht in den Sinn wo ich das schon mal gehört habe. Eventuell findest du was beim googeln.

- Ich kenne ja dein code nicht aber mal ganz naiv gefragt ist es möglich einen Teil in einen seperaten Threed zu verlagern das man wenigsten nicht das gefühl hat das es so Lange dauert? (asynchron)
 

pschilling

Erfahrenes Mitglied
Bis hierhin erstmal vielen Dank für euer Bemühen und eure Hilfsbereitschaft (y)

Bevor ich die dll und meine Nerven jetzt vollends zerpflücke werde ich erstmal auf eine aktuellere Visual Studio Version upgraden und hoffen das sich das Problem mit einer aktuelleren nNET. Runtime in Wohlgefallen auflöst..

Melde mich nächste Woche mit hoffentlich guten Nachrichten ..
 

pschilling

Erfahrenes Mitglied
Tja, da hab ich wohl Pech gehabt..

Ich habe jetzt die dll, das Programm und alle beteiligten Dienste auf .NET 3.5 hochgezogen aber das Startverhalten bleibt leider identisch...

Im neuen Jahr bekomme ich 'nen neuen Entwicklungsrechner mit RAID-System und dann werd ich wohl doch anfangen müssen die dll auseinanderzunehmen :(
 

pschilling

Erfahrenes Mitglied
Hi saftmeister,

vielen Dank für den Vorschlag. Ich hab die App mal auf einen PC mit Raid-System über den Profiler durchlaufen lassen aber finde leider nichts verwertbares was mit dem langsamen Programmstart zu tun haben könnte.

Ich habe allerdings vorher noch nie mit dem Profiler gearbeitet. Vielleicht magst du ja mal einen Blick darauf werfen?

Grüße,
peter
 

Anhänge

  • xConnect.zip
    2,9 MB · Aufrufe: 9

saftmeister

Nutze den Saft!
Hi,

also wenn ich mir das Logfile in den Profiler lade und auf "Histogram by Age" gehe, ist relativ auffällig, dass lange Zeit gar nichts passiert. Ca. 204 Sekunden ist das Programm damit beschäftigt, Objekte anzulegen. Allerdings sehe ich nicht, welchen Typs die Objekte sind, die lange für die Erzeugung benötigen. Möglicherweise ist der CLR Profiler nicht das richtige Tool für den Zweck. Aber schau mal, es gibt ANTS als 14-Tage-Probe-Version: http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/ Damit sollte sich herausfinden lassen, in welcher Funktion das Programm genau hängt.

Es gibt eine Menge Resourcen auch in der MSDN zum Thema Profiling: https://msdn.microsoft.com/en-us/library/z9z62c29.aspx?f=255&MSPPError=-2147217396 Es schadet auf keinen Fall, sich mal damit auseinanderzusetzen. Hier noch ein "Tutorial" zum Thema CLR Profiler: http://geekswithblogs.net/robp/arch...c-part-4-using---and-understanding---clr.aspx Wobei dieser vor allem seine Stärken in der Auffindung von Speicher-Problemen zu haben scheint und der Performance eher wenig Beachtung schenkt.

Du könntest natürlich auch mal mit den VisualStudio-Board-Mitteln analysieren: https://msdn.microsoft.com/en-us/library/ms182403.aspx
 

saftmeister

Nutze den Saft!
Noch was: Wie genau hast du via CLR Profiler die Analyse gestartet? Ich sehe da zwei Haken, die man setzen kann "Allocations" und "Calls". Das "Calls" klingt jetzt erstmal vielversprechend.
 

pschilling

Erfahrenes Mitglied
Jo, das mit den 204 Sekunden ist mir auch sehr Schleierhaft, da die Applikation nach ca. 50 Sekunden bereits aktiv war ?! Und beim Starten hatte ich beide Häkchen aktiviert..

Ich werds mal mit dem Ants probieren! Danke dir ..