StefanWe 14 Geschrieben 6. Oktober 2011 Melden Geschrieben 6. Oktober 2011 Hallo und guten Morgen, wir haben bei einem Kunden ein interessantes Phänomen. Und zwar nutzt der Kunde ein Citrix CSG um auf seine Terminalserver zuzugreifen. Die Verbindungen brechen unregelmäßig ab. Auch die Latenz in der Sitzung ist naja.. ;) Also man merkt beim Eingeben von Text eine Verzögerung von ca. 300 - 500ms. (Gefühlt) Dies als Background. Jetzt zum eigentlichen.Der Kunde hat eine neue 20MB LWL Leitung bekommen und eine WLAN Richtfunkstrecke zwischen zwei Standorten bekommen. Vorher, als es noch sauber lief, kam der Traffik an Standort A über eine LWL 6 MBit Leitung an und ging direkt auf den Terminalserver. Jetzt kommt der Verkehr auf der 20MBit Leitung in Standort B an und geht über die Funkstrecke zu Standort A zum Terminalserver. Erste Vermutung, es kann nur die WLAN Strecke sein. Wenn ich aber nun einen Pinge zwischen Standort B und A sende, ping -l 1500 -t 1.1.1.1 dann habe ich maximal 25ms Verzögerung. Aber Minimum 5ms. Dies erklärt nun nicht die gefühlten 200-500ms in der Terminalsitzung. Wenn ich von meinem Büro (weder im Standort A oder B) auf einen Terminalserver im Internet (vServer bei Strato) zugreife, habe ich beim Ping eine Latenz von ca 25 - 40ms, aber das Arbeiten ist deutlich flüssiger. Wir fragen uns nun, woher diese hohe Latenz kommt. Hat jemand ein Tool, womit ich sauber ein TCP Paket verschicken kann und die Roundtrip Zeit messen kann? Oder vielleicht sogar noch einen besseren Vorschlag? ;) Vielen Dank.
Dunkelmann 96 Geschrieben 7. Oktober 2011 Melden Geschrieben 7. Oktober 2011 Für kleine Tests der Netzwerkperformance verwende ich gerne "iperf" IPERF - The Easy Tutorial
blub 115 Geschrieben 9. Oktober 2011 Melden Geschrieben 9. Oktober 2011 Hallo, das kleine Programm liefert u.a. die roundtriptime Aufruf: roundtrip http://www.mcseboard.de'>http://www.mcseboard.de mögliche Ausgabe: roundtrip.exe http://www.mcseboard.de Address: 109.239.55.232 RoundTrip time: 54 Time to live: 54 Don't fragment: False Buffer size: 32 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.NetworkInformation; namespace roundtrip { class Program { static void Main(string[] args) { if (args.Length == 1) { ComplexPing(args[0]); } } public static void ComplexPing(string destination) { Ping pingSender = new Ping(); // Create a buffer of 32 bytes of data to be transmitted. string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; byte[] buffer = Encoding.ASCII.GetBytes(data); // Wait 10 seconds for a reply. int timeout = 10000; // Set options for transmission: // The data can go through 64 gateways or routers // before it is destroyed, and the data packet // cannot be fragmented. PingOptions options = new PingOptions(64, true); // Send the request. PingReply reply = pingSender.Send(destination, timeout, buffer, options); if (reply.Status == IPStatus.Success) { Console.WriteLine("Address: {0}", reply.Address.ToString()); Console.WriteLine("RoundTrip time: {0}", reply.RoundtripTime); Console.WriteLine("Time to live: {0}", reply.Options.Ttl); Console.WriteLine("Don't fragment: {0}", reply.Options.DontFragment); Console.WriteLine("Buffer size: {0}", reply.Buffer.Length); Console.ReadLine(); } else { Console.WriteLine(reply.Status); } } } } Der Code ist zum größten Teil aus: PingReply.RoundtripTime-Eigenschaft (System.Net.NetworkInformation) roundtrip.zip
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden