如何在我的国际链接上解决TCP超时问题?

我有一个使用HTTP进行通信的客户端/服务器应用程序。 服务器在一些客户端的地球另一端。 服务器和客户端通信的stream量是非常低的带宽。

到了晚上,这个星球上的任何地方的连接工作都不是很好,但白天海外的连接工作效果不佳。 只有居住在国内的用户可以连接,其他人都可以得到TCP超时,重传等。我认为这是因为高峰时段的networkingstream量增加导致延迟。

重新定位服务器是一个昂贵的select。 我想为运行客户端的用户提供一个方便的解决scheme,而不需要他们重新configurationWindows超时等。我认为一种解决scheme可能是在可以接受TCP连接的用户附近有一个代理,连接到服务器。 或者也许切换到UDP。 (然而,UDP将是一个痛苦。)

也许我错了吗? 什么可能导致HTTP连接从0:00UTC到9-11 UTC之间变好,然后在今天的其他时间会变得很糟糕? 在Wireshark中,我看到许多重复的ACK,TCP重新传输,丢失的段等。与服务器在同一国家的客户端不会抱怨。 我已经testing了连接到我的服务器本地和通过一些在线的web代理(hidemyass.com)和前者总是工作,而后者取决于一天的时间。

编辑 :我从端口8080切换到端口80的HTTPstream量,它似乎有所帮助! 沿途的路由器是否有可能将端口80的stream量与端口8080不同? 我也试过端口81,它也连接不好。 有没有人听说过这样的事情?

如果服务器的带宽利用率在最差的连接时间没有达到峰值,
问题可能不在你的服务器本身,很可能在path上; 如你所build议。

你有关于这方面的ISP检查吗?
如果您的共享连接在共享区域出现峰值,则可能会丢失可用带宽,并且在服务器测量中仍未显示峰值利用率。

由于您在白天发现连接不好,所以我希望您的上行链路附近有其他人窒息,听起来就像是您的邻居正在使用的共享链路。


更新:在评论中回答你的问题,

  1. 重新检查你的ISP聚合 – 保证上传和下载带宽是多less?
  2. 与您的ISP讨论这个问题(从客户支持开始并升级)
  3. 检查你周围的其他ISP,并尝试与他们的销售人员交谈来描述这个问题
    他们对此有何看法?
    他们有什么build议?
    (很多时候,当地的知情人士都有更好的信息和解决scheme)
  4. 尝试与另一个适合您的ISP讨论交易/协议。
    你应该找的是
    • 上传和下载带宽保证报价(报价)
    • 交货certificate,您可以随时查询
      (像你的部分链接的MRTG数据的东西;
      即使你有一个共享的链接,最小的带宽数字将是可以引用的,应该是可测量的)
  5. 以前的观点也可以与你现在的ISP讨论
  6. 如果你可以从另一个ISP得到一个好的报价,
    你可以用它作为现在的最后一个杠杆。
    如果事情失败了,你可以转移到新的ISP。

你需要更多的信息。

作为一个故障排除步骤,我build议将一个连续的tracert转储到一个文件中。 运行它到几个目的地(城市,大陆)隔离主要的互联网path。 如果您有可用的远程networking资源,那么您可以运行或安排吞吐量testing,以查看来自世界各地的不同时间的性能。 iPerf是这种testing的好工具。

然后第二天查看/绘制结果,看看是否有模式指出问题可能发生的地方。 当然,由于跟踪路由是低优先级的stream量,并被许多防火墙阻止,所以在某些跳跃期间会期望一些丢失或丢失。 如果可能的话,也从相反方向运行相同的testing。 您可能会遇到不对称的path或其他奇怪的路由条件。 有了这些信息,您可以在与您的ISP的对话中更具体。

这可能是因为你使用的ISP不具有国际连接,也可能是其他ISP正在产生问题。 将互联网服务提供商切换到拥有通往主要国家/大陆的全部path的ISP可能是适当的。

尼尔