Aufteilung Client-Server Aufgaben

Fragen und Diskussion zum Zugriff auf efa über das Intra- oder Internet

Moderator: nick

Forumsregeln
Verfasse bitte die Beiträge in den passenden Kategorien und gib ihnen einen aussagekräftigen Betreff.
Antworte bitte nur zum Thema und beginne ein neues Thema, falls Du noch etwas Zusätzliches sagen möchtest.
Antworten
RuderMarkus
Beiträge: 115
Registriert: Do 1. Mär 2012, 18:30

Aufteilung Client-Server Aufgaben

Beitrag von RuderMarkus » So 1. Dez 2013, 00:58

Hi Nick,

efa-online ist ne echt coole Sache. Liege ich richtig in der Annahme, dass dabei die Logik auf dem Rechner zu Hause ausgeführt wird und im Bootshaus beim Remotezugriff nur die Datenhaltung stattfindet?
Leider ist der Bottle Neck bei mir die Verbindung ins Bootshaus.
Daher wäre es super, wenn man zumindest einige Tasks wie Backups und Statistiken sowie das Zusammenführen von Personen von zu Hause auf dem Rechner im Bootshaus (also serverseitig) antriggern könnte.
Im Bootshaus gibt es eine Statistik, die per Mail verschickt wird. Dort ausgeführt ist die innerhalb von 2 minuten im Mailpostfach. Auch Zusammenfügen von Personen geht fix.
Von zu Hause habe ich schon mal eine Nacht warten müssen, um das ok zu erhalten, dass efa alle 20 Einträge in den alten Fahrtenbüchern aktualisiet hatte.


Danke und viele Grüße
Markus

nick
Beiträge: 1290
Registriert: Sa 10. Jul 2010, 11:45

Re: Aufteilung Client-Server Aufgaben

Beitrag von nick » Mo 2. Dez 2013, 09:37

Hallo Markus,

ja, dein Verständnis ist korrekt: Bei efaRemote dient der efa-Server (Bootshaus) lediglich als "Datenbank", und sämtliche Logik läuft ausschließlich im Client ab. Das vereinfacht die Schnittstelle ungemein, da die Schnittstelle zwischen Client und Server lediglich simple Operationen wie read, write, update (plus einige mehr, in Summe sind es rund 50) Operationen unterstützen muß. Ich gebe dir zwar Recht, daß bestimmte Aufgaben schneller ablaufen würden, wenn die Logik dazu im Server laufen würde, aber das würde die Schnittstelle erheblich verkomplizieren. Für die Zukunft ist auch geplant, weitere Schnittstellen, z.B. zum SQL-Zugriff auf eine Datenbank anzubieten, die nach jetzigem Modell eine simple Erweiterung wäre, solange sämtliche Logik im Client erfolgt.

In der Vergangenheit (vor Version 2.1.0) war die Remote-Schnittstelle offiziell als "experimentell" gekennzeichnet, aber seit erster Veröffentlichung in der Beta-Version 1.9.9 immer wieder stark beschleunigt. Inzwischen cached der Client viele Daten, und liest viele Daten als "Prefetch" in einem Rutsch. Dadurch sind viele Operationen, die früher ewig dauerten, inzwischen X-fach schneller geworden.

In der efa-Konfiguration (im Client) kannst du im Expertenmodus unter Daten - efaRemote die maximale Zeitdauer, für die der Client Daten cached (Cache Expiry Time) einstellen. Standard sind 10 Sekunden. Wenn einzelne Tasks sehr lange dauern oder deine Verbindung sehr langsam ist, kann es sein, daß der Client seinen Cache zu oft invalidiert und alle Daten erneut läd. Eventuell geht es deutlich schneller, wenn du diesen Wert heraufsetzt. Ein größerer Wert erhöht das Rikiso, daß der Client alte Daten sieht, die sich im Server bereits verändert haben. Dies ist jedoch nur ein theoretisches Problem, falls der Computer im Bootshaus zeitgleich benutzt wird. Falls der Client versucht, Daten zu verändern, die im Server bereits verändert wurden (der Client hat also eine alte, gecachete Version der Daten), dann erkennt der Server dies und liefert einen Fehler. Du riskierst also auch mit einem größeren Timeout nicht, daß du irgendwelche parallel stattfindenden Änderungen überschreibst. Das schlimmste, was passiert, ist daß die Aktion im Client abbricht, weil sich die Daten im Server bereits geändert haben. In der Praxis ist dies äußerst selten und unwahrscheinlich.

Falls dennoch manche Aktionen über efa-Remote sehr lange dauern, dann aktiviere bitte in der efa-Konfiguration (im Client) im Experten-Modus das Debug-Logging (ohne irgendwelche Trace-Topics oder Levels zu setzen) und wiederhole die langsamen Operationen. Wenn du dann anschließend im Client <F12> drückst, zeigt dir der Client eine Liste sämtlicher Operationen an, die seit Start des Clients ausgeführt wurden, wie oft jede Operation aufgerufen wurde, und wie lange sie gedauert hat. Bitte schicke mir diese Informationen zu, dann kann ich sehen, was genau lange dauert. Höchstwahrscheinlich handelt es sich um einige wenige, einzelne Operationen, die den großteil der Zeit ausmachen, und sich ggf. mit ein paar leichten Tricks optimieren lassen.

Danke & Gruß,
Nick

hambrock
Beiträge: 14
Registriert: Do 15. Mär 2012, 16:54

Re: Aufteilung Client-Server Aufgaben

Beitrag von hambrock » Fr 25. Apr 2014, 15:48

RuderMarkus hat geschrieben:Hi Nick,

efa-online ist ne echt coole Sache. Liege ich richtig in der Annahme, dass dabei die Logik auf dem Rechner zu Hause ausgeführt wird und im Bootshaus beim Remotezugriff nur die Datenhaltung stattfindet?
Leider ist der Bottle Neck bei mir die Verbindung ins Bootshaus.
Daher wäre es super, wenn man zumindest einige Tasks wie Backups und Statistiken sowie das Zusammenführen von Personen von zu Hause auf dem Rechner im Bootshaus (also serverseitig) antriggern könnte.
Im Bootshaus gibt es eine Statistik, die per Mail verschickt wird. Dort ausgeführt ist die innerhalb von 2 minuten im Mailpostfach. Auch Zusammenfügen von Personen geht fix.
Von zu Hause habe ich schon mal eine Nacht warten müssen, um das ok zu erhalten, dass efa alle 20 Einträge in den alten Fahrtenbüchern aktualisiet hatte.


Danke und viele Grüße
Markus
Hallo Markus,

wir arbeiten mit dem Teamviewer und können von überall in der Welt nachsehen ob alles läuft und können selbstverständlich auch alle Daten pflegen, selbst habe ich auch schon mehrfach online updates eingepflegt, aber das nur von zu Hause. Teamviewer läuft auf vielen Systemen, ich nutze es unter Win 7 und 8.1 als App, meinem Windows Phone und meinen Surface Tablet. Auf dem Tablet ist es noch mühsam, denn die Felder oder das gesamte Bild läßt sich nicht in der Größe ändern, vielleicht kann Michael das ändern? Mit dem Touchbildschirm auf dem Windows 8.1 kann man es sehr gut bedienen, aber nicht zoomen. Im Bootshaus haben wir drei Fahrtenbücher installiert, einen als Server und die anderen als Clients über das lokale Netz, alle haben Internetzugang und die Daten werden auf der Homepage aufgearbeitet, dass ist auch unser Backup. Die Mitglieder können sich Ihre Fahrten über die MRV Seite auflisten lassen.

Manfred Hambrock MRV Mainz

Antworten