Hallo,
habe einen Applet, in dem ich in eine unendliche Schleife Verbindungen zu einem Server mit Verzögerungen aufbaue. das passiert innerhalb von 2 Threads (einen zum lesen vom Server und einem zum schreiben zum Server beim ersten durchlauf)
das Applet benötigt viele andere klassen. Diese sind in einem jar gepackt. die Grösse des Jars hängt von der Applikation ab.(zwischen 900 kb und 6 mb)
wenn ich das Applet zum ersten mal vom webserver aufrufe, dauert es sehr lange (1 bis 3 min) bis ich was auf den bildschirm sehe und dann geht schnell.
meine frage: kann man irgendwo was optimieren ?
worauf muss man aufpassen um die höhe mögliche Performance zu erziehen ?
für jede Hilfe und Anregungen bedanke ich mich im voraus
Hallo,
habe einen Applet, in dem ich in eine unendlichen Schleife
Verbindungen zu einem Server mit Verzögerungen aufbaue. das
unendlich ??
passiert innerhalb von 2 Threads (einen zum lesen vom Server
und einem zum schreiben zum Server beim ersten durchlauf)
das Applet benötigt viele andere klassen. Diese sind in einem
jar gepackt. die Grösse des Jars hängt von der Applikation
ab.(zwischen 900 kb und 6 mb)
Mich wundert’s nicht, dass der Aufbau etwas länger dauert.
wenn ich das Applet zum ersten mal vom webserver aufrufe,
dauert es sehr lange (1 bis 3 min) bis ich was auf den
bildschirm sehe und dann geht schnell.
meine frage: kann man irgendwo was optimieren ?
worauf muss man aufpassen um die höhe mögliche Performance zu
erziehen ?
Ein paar Schlagworte:
-Nähe zur Datenbank verringern
-Datenkompression verwenden
-Java Code auf ‚schnell‘ refactoren (z.dt.: die Algorithmen verbessern)
-Schleifen optimieren
-beste & passendste Treiber wählen
-Netzwerkverbindung beschleunigen
-…
Dumme Frage: was soll das Programm eigentlich tun ? Ein GIS realisieren ??
ja die schleife ist unendliche aber dort liegt nicht das Problem, denn local (auf Rechner wo der webserver ist) läuft die applet schnell.
Mich wundert’s nicht, dass der Aufbau etwas länger dauert.
ich vermute eher, dass das problem wegen die übertragung des jars ist
Ein paar Schlagworte:
-Nähe zur Datenbank verringern
ich verwende keine datenbanken sondern klassen objekten um immer die aktuelle werte zu speichern.
ich habe schon überlegt ob datenbank die performance in meine anwendung besser macht, denn die prozesswerte werden bei jede änderung fast jede 2,3 sekunden von einem prozess gespeichert(momentan in java objekten) und von einem anderen gelesen(zum visualisierung)
-Datenkompression verwenden
-Java Code auf ‚schnell‘ refactoren (z.dt.: die Algorithmen
verbessern)
-Schleifen optimieren
-beste & passendste Treiber wählen
verwende auch keine treiber
-Netzwerkverbindung beschleunigen
-…
bei den anderen punkten werde ich versuchen was zu optimieren
Dumme Frage: was soll das Programm eigentlich tun ? Ein GIS
realisieren ??
was ist ein GIS ?
die anwendung soll ein Prozess via web visualisieren und steuern. sie bekommt die prozessdaten über tcp/ip von ein prozessvisualisirungsystem(geschrieben in C und mit einem sps verbunden).
man soll auch aus einem entfernten rechner werte in sps setzen können (nicht direkt sondern über dieses visualisiserungssystem).
wenn der benutzer die anwendung aufruft, werden prozessbilder angezeigt und werden immer mit werten aus dem sps aktualisiert mit verzögerung vonn etwa 3s