Johnny hat geschrieben: ↑Samstag 1. Juli 2023, 23:12
FortiSecond:
Und da bei TM schon ein paar Millisekunden zum Flötenbruch gereichen (Broken Pipe)
Entspricht auch meiner Beobachtung.
Aber wie kann man dies vermeiden bzw die Zeit verlängern?
(Unter Fötenbruch verstehen ich: TM -Kurzzeit-Verbindung Server/client bricht zusammen und der Client hängt und stürzt dann evtl. ab?!)
Mir ist bisher kein Weg bekannt, das clientseitige Timeout irgendwie zu beeinflussen.
Der FOS selbst hat kein Problem mit Latenzen. UDP wird nicht genutzt (dann wäre das aber fehlertoleranter implementiert).
Ob es nun Timeouts sind, oder ob bereits ein verlorenes Paket ausreicht: Nicht weiter untersucht.
Bei einer unterbrochenen oder gar erkennbar korrumpierten Transaktion auf dem Client die Notbremse zu ziehen, ist sinnvoll. So verhindert man das Risiko, mit fehlerhaften oder gar bösartigen Daten zu arbeiten und diese unter Umständen gar in die DB zu schreiben.
Serverseitig kann eine hängende Transaktion dann halt verworfen werden, ohne die DB zu beschädigen. Das ist die Aufgabe des Datenbankservers.
Clientseitig könnte man einen (anderen) Umgang mit solchen Fehlern einbauen, also längere Timeouts, Transaktionswiederholung bei Problemen und so weiter. Hat dann aber neben Performancefragen den Preis, dass die häufigste Ursache in Form einer Nichterreichbarkeit des Servers (Neustart, Kabel usw.) dann zu Sanduhr und "...reagiert nicht" führt, bevor man dann ja trotzdem abstürzt. Dann lieber die einfachere Variante mit "Crash to Desktop" beibehalten, bei der die Risiken geringer sind. Nicht zuletzt SOLLTEN solche Abbrüche und Fehlübertragungen ja vermeidbar sein, solange der Server läuft und das Netzwerk OK ist.
Am Ende bleibt also nur, für ein stabiles und ausreichend dimensioniertes Netz und einen zuverlässigen Server zu sorgen.
Gute Kabel, vernünftige Switches, ordentliche Netzwerkadapter(-einstellungen), leistungsfähige und intakte Datenträger, genug RAM, ordentliches Lastmanagement auf dem Server (z.B. keine "Windows-Serversicherung" in der Sprechzeit), echtes Server-OS, sorgfältiges Adressmanagement, Broadcast-Geraffel wie Internet-TV raushalten und so weiter. Ordentlich halt.
Weiterhin etwas Hygiene: Nicht benötigte NW-Dosen vom Switch trennen, um Konflikte oder el. Fehler zu vermeiden; Switch-Verkettung vermeiden, Pass-Through durch VoIP-Telefone vermeiden.
Und dann ab und zu mal an einem PC mit direkter Verbindung zum zentralen Switch Wireshark starten und auf rote Zeilen achten (vereinfacht gesagt).