Hallo liebes Forum,
ich habe ein Tool entwickelt, welches primär auf dem lokalen Rechner läuft entwickelt, welches auch schon einige Monate im einsatz ist.
Nun war die Anforderung, die Anwendung auch Benutzer auf einem TerminalServer verfügbar zu machen.
Soweit alles gut, dies haben wir mitlerweile geschaft, jedoch dauert hier der Start deutlich länger (~1 Minute oder länger).
Meine Erfahrungen mit dem Microsoft TS sind sehr beschränkt.
Woran könnte dies liegen?
Die Anwendung beinhaltet Infragistics Controls, ansonsten eigentlicht nichts besonderes und es ist auch eine relativ kleine Anwendung.
Lion
lg Lion
Hallo
wieviel ram hat der server?
4 GB
wieviele assemblies nutzt du?
14 DLLS + die Exe, Auflösung:
1 x CSLA
9 x Infragistic DLLS
3 x ReportViewer
1 x Eigene DLL
lg Lion
huhu,
die Infragisitic Tools benehmen sich leider sehr Grafik-Lastig. Für alles möglich wird irgend ein Style angefügt was dann beim zeichnen des Controls zu recht hohen Laufzeiten führt. Ich tippe insofern drauf, dass dieses ständige neuzeichnen für die Laufzeit sorgt.
Mach doch einfach mal ein paar System.Diagnostics.Debug-Aufrufe rein und lass die einzelnen Steps beim starten mit nem Zeitstempel ausgeben.
🙂
Xynratron
Herr, schmeiss Hirn vom Himmel - Autsch!
Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
Hallo Lion1984,
greifen die Clients übers Internet auf den Terminal-Server zu? Wenn ja, wie ist der Server ans Internet angepunden und wie sind die Clients an Internet angebunden?
Laufen andere Anwendungen (z.B. MS Office) flüssig und schnell auf dem selben Server?
Hallo,
ich konnte leider heute nicht mehr alzuviel durchtesten / lesen da ich dann auf einen Termin war.
Also es ist defintiv die InizilationComponent Methode, die ewig braucht.
Die Clients greifen übers Firmen interne Netzwerk zu und teilweise über Internet, genaue Infos zur Internet verbindung habe ich aktuell leider nicht.
Andere Anwendungen laufen flüssig.
Vorweg, danke mal für eure Hilfe / Links.
Lion
lg Lion
verwendest du remoting?
ach ja und lade dir mal
SpeedTrace
runter und schau dir an wo exakt die probleme liegen.
Nein, in der Anwendung verwende ich kein Remoting.
Bezüglich des Tools, danke für das Tool, werde mir aber hierfür ein Test-TS aufsetzen da wir aktuell keinen Test-TS haben.
lg Lion
Hallo Lion1984,
Konntest du dein Problem lösen? Hattest du nur Probleme beim Start der Anwendung oder auch bei der Bedienung der Anwendung?
Hintergrund ist der dass ich im Moment eine Anwendung für einen Kunden erstelle, welches primär auf einem Citrix Server laufen soll.
Hallo JAck30lena,
Meiner Meinung nach wird das doch bei jedem Start einer .NET Anwendung ab 2.0 durchgeführt oder irre ich mich da?
Mmh...
Und wozu gibt es dann den Microsoft .NET Framework NGEN Dienst?
Ich war der Meinung das dieser das pre-jitten durchführen und im Native Image Cache abspeichert oder bin ich da auf dem Holzweg?
sondern auch die laufzeit-performance steigert
das stimmt nur indirekt, hat der JIT-Compiler 100% der Anwendung in Assembler übersetzt, laufen beide Programme gleich schnell, da der JIT den Assembler-Code wieder verwendet.
Der Flaschenhals einer Anwendung liegt wohl in den ganz seltensten Fällen aber JIT-Compiler.
Bei Server-Anwendungen ist es beispielsweise Unsinn das ganze mit ngen vorzukompilieren, nutzen hat nur der, der die erste Anfrage startet, alle anderen laufen gleich schnell ab.
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
noe, ngen macht bei weitem mehr optimierungen, da er sich dafür zeit nehmen kann wohingegen der JIT aus performancegründen nur rudimentär optimiert.
bei .net 1.0 und 1.1 war das aber so. da gebe ich dir recht. seit .net 2.0 allerdings geht die performance-schere immer weiter auseinander.
Hallo,
also bei mir ist tes primär beim starten der Anwendung. Ist sie einmal gestartet so kann man gut mit Ihr arbeiten. Leider bin ich noch nicht dazu gekommen da dies eher ein sekundäre Problem ist (1 User arbeitet glaub ich 1 mal im Monat darauf), primär ist es eine Windows Anwendung.
Aber wie gesagt, so bald Zeit ist werde ich mir eine nötige Testumgebung einrichten und schauen, wie es weiter geht.
lg Lion
lg Lion