Очень большой пинг в клиент-серверном приложении в Windows Server 2012. Как уменьшить?
Я создал облачный сервер на Windows Server 2012 R2. При выполнении команды ping со своего компьютера на этот сервер пинг в среднем 60ms. Я написал простое клиент-серверное приложение на C#.
Клиент:
TcpClient client = new TcpClient(); client.Connect(IPAddress.Parse(«адрес»), 10000); NetworkStream stream = client.GetStream(); BinaryReader reader = new BinaryReader(stream); BinaryWriter writer = new BinaryWriter(stream); Stopwatch sw = new Stopwatch(); List pings = new List(); DateTime startTime = DateTime.Now; Random random = new Random(); while(true) { byte[] packet = Enumerable.Repeat(100, random.Next(50, 100)).ToArray(); sw.Start(); writer.Write(packet.Length); writer.Write(packet); packet = reader.ReadBytes(reader.ReadInt32()); sw.Stop(); pings.Add((float)sw.Elapsed.TotalMilliseconds); sw.Reset(); DateTime now = DateTime.Now; if(now — startTime > TimeSpan.FromSeconds(1)) { startTime = now; Console.WriteLine(pings.Average()); pings.Clear(); } }
Сервер:
TcpListener listener = new TcpListener(IPAddress.Any, 10000); listener.Start(); TcpClient client = listener.AcceptTcpClient(); NetworkStream stream = client.GetStream(); BinaryReader reader = new BinaryReader(stream); BinaryWriter writer = new BinaryWriter(stream); while (true) { byte[] packet = reader.ReadBytes(reader.ReadInt32()); writer.Write(packet.Length); writer.Write(packet); }
При запуске сервера на Windows Server, а клиента у себя я получаю результаты пинга в среднем 200ms.
На мой взгляд проблема кроется в настройках Windows Server`а. Подскажите, кто знает.
Клиент:
TcpClient client = new TcpClient(); client.Connect(IPAddress.Parse(«адрес»), 10000); NetworkStream stream = client.GetStream(); BinaryReader reader = new BinaryReader(stream); BinaryWriter writer = new BinaryWriter(stream); Stopwatch sw = new Stopwatch(); List pings = new List(); DateTime startTime = DateTime.Now; Random random = new Random(); while(true) { byte[] packet = Enumerable.Repeat(100, random.Next(50, 100)).ToArray(); sw.Start(); writer.Write(packet.Length); writer.Write(packet); packet = reader.ReadBytes(reader.ReadInt32()); sw.Stop(); pings.Add((float)sw.Elapsed.TotalMilliseconds); sw.Reset(); DateTime now = DateTime.Now; if(now — startTime > TimeSpan.FromSeconds(1)) { startTime = now; Console.WriteLine(pings.Average()); pings.Clear(); } }
Сервер:
TcpListener listener = new TcpListener(IPAddress.Any, 10000); listener.Start(); TcpClient client = listener.AcceptTcpClient(); NetworkStream stream = client.GetStream(); BinaryReader reader = new BinaryReader(stream); BinaryWriter writer = new BinaryWriter(stream); while (true) { byte[] packet = reader.ReadBytes(reader.ReadInt32()); writer.Write(packet.Length); writer.Write(packet); }
При запуске сервера на Windows Server, а клиента у себя я получаю результаты пинга в среднем 200ms.
На мой взгляд проблема кроется в настройках Windows Server`а. Подскажите, кто знает.
Похожие публикации
Почему не стартует локальная сеть на виртуальной машине?
Как правильно перевести всю инфраструктуру на виртуализацию?
Мониторинг служб Windows по SNMP?
Почему KMS клиент не находит KMS сервер?
Как перенести dns сервер с winserv 2008r2 на 2012r2?
Нет комментариев