Cloud 两个不同的云提供商之间是否可以进行3ms ping

Cloud 两个不同的云提供商之间是否可以进行3ms ping,cloud,Cloud,我正在测试ping时间,发现从东海岸的amazonec2linux实例数据中心到windowsazure实例的ping时间为3ms。因为它太小了,让我怀疑我是否做错了什么。我相信azure数据中心位于弗吉尼亚州。当我从我的计算机连接时,我得到57-60毫秒,这使我认为我的测试是正确的。当我在azure实例上测试127.0.0.1时,我得到了8-10毫秒,这让我认为在测试azure的ec2时,我至少应该得到10毫秒以上。我只是想知道,在不同数据中心的两台计算机之间是否可以进行3ms ping。我无

我正在测试ping时间,发现从东海岸的amazonec2linux实例数据中心到windowsazure实例的ping时间为3ms。因为它太小了,让我怀疑我是否做错了什么。我相信azure数据中心位于弗吉尼亚州。当我从我的计算机连接时,我得到57-60毫秒,这使我认为我的测试是正确的。当我在azure实例上测试127.0.0.1时,我得到了8-10毫秒,这让我认为在测试azure的ec2时,我至少应该得到10毫秒以上。我只是想知道,在不同数据中心的两台计算机之间是否可以进行3ms ping。我无法从命令行ping,因为两个框都不响应标准ping。我的程序发送一个随机数,启动一个计时器,然后检查返回的数据包是否包含该数字,因此我相信测试是正确的

  loop{
      byte[] senddata;
            senddata = CreatePacketString(
                        Guid.Parse(players.randomTestGuidPlayer[2]), 
                        players.udpc[2].packetnumber, moveto2);

            Random g = new Random();
            int k = g.Next(5000);
        players.udpc[2].packetnumber += k;

            Send(players.udpc[2].listener, getServerIP(), getServerPort(), senddata);

            long t1 = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;

            bool found = false;
            while (found == false)
            {
                byte[] data = IncomingPacket(players.udpc[2].listener.Receive(ref players.udpc[2].groupEP));

                byte[] packetnumberAsBytes = new byte[4];
                Buffer.BlockCopy(data, 10, packetnumberAsBytes, 0, sizeof(Int32));
                Int32 gt = BitConverter.ToInt32(packetnumberAsBytes, 0);

                if (gt == players.udpc[2].packetnumber - k)
                {
                    found = true;
                }

                if(found == false)
                    System.Console.WriteLine(String.Format("UNEXPECTED"));

            }
            long t2 = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;

            System.Console.WriteLine(String.Format("pings {0}", t2 - t1));
 }

这实际上取决于当时网络的状况。 您可以尝试登录到虚拟机,并使用流行的工具查看统计数据,如-它不仅会显示ping,还会显示许多其他相关数字

我不会试图将世界上任何可用的数字与云供应商网络基础设施内部正在发生的事情进行比较。例如,Microsoft Azure云中的数据中心位于自有网络中。我猜亚马逊也是这样

我发现了问题

在设置t1之前调用send函数是个坏主意

  Send(players.udpc[2].listener, getServerIP(), getServerPort(), senddata);

        long t1 = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;

我相信这些语句不会一个接一个地发生,因为操作系统会暂停线程来处理UDP发送。然后稍后我会设置时间,但这确实需要在发送之前发生,因为我需要记录线程外的时间。这导致ping太低。

Alex,谢谢您提供的信息。我的ec2实例只是一个终端,所以我认为我不能从amazon实例运行azure速度测试。如果是在同一个数据中心中的azure到azure,我认为3ms是可能的。我仍然在测试中寻找bug,因为我认为从ec2到azure不可能有3ms。1毫秒的光速约为200英里,ping是一个往返过程,因此数据中心之间的距离必须在300英里以内。这个问题与StackOverflow无关,与编程无关。ping时间与物理位置或物理距离无关。