datax87
Goto Top

Performanceproblem bei Client-Server-Anwendung über IPsec-Tunnel

Hallo Leute,

ich brauche einmal einen Tipp bei der Lösung eines Performance-Problems bei einer Client-Server-Anwendung.

Die betreffende Anwendung (die *.exe-Datei) wird auf Client-Systemen von Nebenstandorte (OS = Win10 Pro) über ein Netzlaufwerk ausgeführt. Die dazugehörige Netzwerkfreigabe befindet sich auf einem Server (steht in der Hauptstelle / am Hauptstandort), der über einen IPsec-Tunnel erreicht wird.

Mit "Performance-Problem" meine ich, dass die betreffende Client-Server-Anwendung in der Bedienung / Interaktion
sehr langsam reagiert und auch die vom Server empfangenen Daten im Anwendungsfenster unflüssig angezeigt werden.

Die Anzeige der Textdaten, die vom Server bezogen werden, werden nach und nach aufgelistet,
aber ziemlich langsam. Das Anwendungsfenster füllt sich dabei langsam von oben nach unten mit den empfangenen Daten.

Das Besondere dabei ist, dass dieses Problem nur an einem Standort auftritt. Insgesamt sind 4 Standorte beteiligt,
die die besagte Client-Server-Anwendung nutzen. An 3 Standorten (die jeweils über einen IPsec-Tunnel mit der Hauptstelle verbunden sind) funktioniert die Anwendung ohne Probleme.

Die IPsec-Tunnel sind allesamt identisch eingerichtet. Einzige Unterschiede sind natürlich die eingetragen Subnetze in Phase 2.

Alle Standorte sind mit 1 GBit /s (symetrisch) ans Internet angebunden.

An allen Standorten wurde geprüft, dass nicht eine ausgelastete Internetleitung das Problem sein könnte.
Das war nicht der Fall, da auch in der Nacht getestet wurde, wo so gut wie kein Traffic über die Internetleitungen geht.

Auf den Client-Systemen, die ich zur Fehlersuche benutzt habe, habe ich testweise auch mal den lokalen Virenschutz deinstalliert. Das löste das Problem nicht. Auch nach der Deinstallation des Virenschutzes auf dem Server war das Problem weiterhin vorhanden. Die System-Auslastung der Client-Systeme (CPU, RAM, Festplatte) und des Servers sind absolut im grünen Bereich, da die Anwendung keine großartigen Anforderungen stellt.

Welche Maßnahmen zur Fehlersuche könnte ich noch unternehmen?

Wie könnte ich weiter vorgehen, um die Ursache für dieses Problem zu finden?

Kann es sein, dass bei dem "Problem-Standort" zahlreiche Übertragungsfehler passieren,
so dass die Daten immer und immer wieder angefordert werden müssen, um fehlerlos empfangen werden zu können?

Kann hier ein MTU-Problem vorliegen?

Bin wenig erfahren beim Troubleshooting solcher Probleme.

Wäre nett, wenn der ein oder andere mir einen Tipp geben könnte.

Besten Dank vorab.

Datax

Content-Key: 6394551498

Url: https://administrator.de/contentid/6394551498

Printed on: April 25, 2024 at 13:04 o'clock

Member: chiefteddy
chiefteddy Mar 16, 2023 at 18:54:23 (UTC)
Goto Top
Hallo,
messen macht schlau. face-wink

WireShark anwerfen un den Datenverkehr analysieren.
Log-Dateien in den beteiligten Routern auswerten.

Jürgen
Member: Dani
Dani Mar 16, 2023 at 19:23:48 (UTC)
Goto Top
Moin,
Kann es sein, dass bei dem "Problem-Standort" zahlreiche Übertragungsfehler passieren,
dann müsstest du auf den WAN und VPN-Interfaces auf den Routern entsprechende Fehler zu finden sein.
Lass doch mal vom Client zum Server und vom Server zum Client ein MTR mit 1000 Paketen laufen. Dann siehst du recht schnell, ob es Paketverluste sind.

Kann hier ein MTU-Problem vorliegen?
möglich. Wobei wenn alle anderen Standorten identisch angebunden sind und auch die gleichen Rahmenbedingungen vom Client bis zum Server haben, kann es an der MTU Size nicht liegen.

Das war nicht der Fall, da auch in der Nacht getestet wurde, wo so gut wie kein Traffic über die Internetleitungen geht.
Das sollte dir hoffentlich auch euer Monitoring sagen können. Unabhängig davon ist zu klären, warum überhaupt 1Gbit/s benötigt wird, wenn kaum Auslastung vorhanden ist.

Alle Standorte sind mit 1 GBit /s (symetrisch) ans Internet angebunden.
  • Könnte auch ein schlechtes Routing vom Standort A zum Standort B bzw. andersherum sein. Das kann sowohl bei unterschiedlichen ISPs als auch bei einem ISP passieren.
  • Falls es unterschiedliche ISP sind, könnte auch einer der Netzübergänge von ISP A zu ISP B vollausgelastet sein.


Gruß,
Dani
Member: aqui
aqui Mar 16, 2023 updated at 19:46:30 (UTC)
Goto Top
Leider ist etwas unklar WIE die Anbindug realisiert ist, sprich ob es eine IPsec Site-to-Site Anbindung ist die ja üblicherweise über Firewall, Router realisiert oder ob du das einzeln mit einem Client VPN erledigst. Das Design ist also nicht ganz unerheblich.
MTU bzw. MSS Clamping Problematiken sind sehr wahrscheinlich wenn vergessen wurde das zu aktivieren. Dadurch kann es durch den Overhead des VPN Protokolls zu Fragmentierungen kommen die dann massiv zu Lasten der Performance geht. Da kann man aber nur raten weil du keinerlei Informationen zum Setup lieferst und dieses auch, wie oben schon gesagt, allgemein etwas unklar ist.
Wie die Kollegen oben schon gesagt haben ist Messen erstmal ne gute Idee.
Ideal wäre mit iPerf3 mal grundsätzlich zu checken was überhaupt durch die Tunnelverbindung geht und wo dessen Performance liegt. Damit hast du überhaupt erstmal einen Anhaltspunkt was die Tunnel leisten.
Idealerweise lässt man das auch einmal an allen 4 Standorten gleichzeitig laufen um mal zu sehen wie das die Tunnel Performance beeinflusst.

Ein weiterer wichtiger Test ist ein Fragmentierungstest um die max. MTU der 4 Links rauszubekommen.
https://blog.boll.ch/basic-stuff-mtu-groesse-mit-ping-testen/
Das könnte den Unterschied zeigen wenn z.B. 3 Standorte eine Infrastruktur nutzen ohne Overhead (Glasfaser, Ethernet etc.) und eine mit (xDSL, PPPoE, VLAN Tag). Aber auch nur erstmal geraten weil zielführende Informationen fehlen.
Member: maretz
maretz Mar 16, 2023 at 21:14:51 (UTC)
Goto Top
Die Frage wäre ja ggf. auch mal an deinen Provider zu richten... der hat schließlich die hoheit über die Leitung.
EINE möglichkeit wäre ja auch die Latenz. Es ist schön wenn du nen GBit hast... wenn die Latenz aber sch... is dann bringts dir wenig. Ich hab hier zB. SAT-Leitungen bei denen ne Ping-Zeit von über 1000ms nichts ungewöhnliches ist, selbst im besten fall sind 300-400ms normal. Wenn du jetzt über so eine Leitung eine SW betreiben willst die für jede Anfrage an die DB den ganzen Overhead macht (anmelden, anfrage absetzen, ergebnis erhalten, verbindund schließen) wirst du merken: DAS wird nix... Da kannst du bei ner normalen 08/15-Software dir locker ne ganze Kaffeeplantage anbauen bis da was passiert. Die BANDBREITE is dabei völlig egal. Ob du jetzt nen GBit oder 10 GBit oder auch nur 1 mbit hast spielt keine rolle - weil die Datenmenge gering bleibt... Nur muss das Paket eben trotzdem erstmal fröhlich munter durch einige KM Luft durch (2x im besten Fall, dümmstenfalls noch viel öfters).
Member: Datax87
Datax87 Mar 18, 2023 at 11:39:01 (UTC)
Goto Top
Zitat von @aqui:

Leider ist etwas unklar WIE die Anbindug realisiert ist, sprich ob es eine IPsec Site-to-Site Anbindung ist die ja üblicherweise über Firewall, Router realisiert oder ob du das einzeln mit einem Client VPN erledigst. Das Design ist also nicht ganz unerheblich.
MTU bzw. MSS Clamping Problematiken sind sehr wahrscheinlich wenn vergessen wurde das zu aktivieren. Dadurch kann es durch den Overhead des VPN Protokolls zu Fragmentierungen kommen die dann massiv zu Lasten der Performance geht. Da kann man aber nur raten weil du keinerlei Informationen zum Setup lieferst und dieses auch, wie oben schon gesagt, allgemein etwas unklar ist.
Wie die Kollegen oben schon gesagt haben ist Messen erstmal ne gute Idee.
Ideal wäre mit iPerf3 mal grundsätzlich zu checken was überhaupt durch die Tunnelverbindung geht und wo dessen Performance liegt. Damit hast du überhaupt erstmal einen Anhaltspunkt was die Tunnel leisten.
Idealerweise lässt man das auch einmal an allen 4 Standorten gleichzeitig laufen um mal zu sehen wie das die Tunnel Performance beeinflusst.

Ein weiterer wichtiger Test ist ein Fragmentierungstest um die max. MTU der 4 Links rauszubekommen.
https://blog.boll.ch/basic-stuff-mtu-groesse-mit-ping-testen/
Das könnte den Unterschied zeigen wenn z.B. 3 Standorte eine Infrastruktur nutzen ohne Overhead (Glasfaser, Ethernet etc.) und eine mit (xDSL, PPPoE, VLAN Tag). Aber auch nur erstmal geraten weil zielführende Informationen fehlen.

Die Anbindung der verschiedenen Standorte an den Hauptstandort wurde durch IPsec-Site-to-Site-Tunnel hergestellt. An allen beteiligten Standorten sind "Sophos XGS"-Firewalls verbaut. Auf diesen Firewalls sind die IPsec-Tunnel eingerichtet. Die Hauptfirewall hat insgesamt 3 IPsec-Tunnel (zu den 3 Nebenstandorten) und die Nebenstandorte haben halt jeweils 1 IPsec-Tunnel eingerichtet, der die Verbindung zum Hauptstandort hergestellt.

Ich werde mal iperf-Messungen von Test-Clients der verschiedenen Standorte zum Server durchführen.
Dann weiß ich schon mal wie der Durchsatz von Client zum Server an den verschiedenen Standorten ist.

Die maximale MTU der 4 Verbindungsstrecken zum Server werden ich auch mal bestimmen.

Besten Dank schon mal für die Infos.