1

客户机器向我们的服务器发送 UDP 请求。服务器处理每个请求并发送响应。事务的逻辑要求客户端在发送新请求之前等待响应。

即使客户端和服务器机器的所有处理都是瞬时的,我们的客户似乎仍然平均需要大约 30 毫秒才能通过 Internet 发送/接收往返交易。(以光速行驶约 5,580 英里。)

这是否意味着给定客户平均每小时不能进行超过 120,000 次同步交易?

1 笔交易 = 0.030 秒最少
120k 笔交易 = 1 小时

4

1 回答 1

1

延迟的影响

由于您必须序列化您的请求,延迟将限制您的交易率。

然而,光速计算是理论上的最佳传输时间。在现实生活中,沿途有路由器会增加延迟。

确保并在几天内测量一天中不同时间点的实际 ping 时间,以获得真实的延迟数字。

由于客户端和服务器代码将在小于零的时间内处理,并且处理时间可能至少与延迟时间一样长(取决于您在做什么),假设处理可能不现实时间接近零。

克服延迟

如今,有许多相当便宜的方法可以使您的服务器(或至少是您的架构的一层)更靠近您的客户。例如,您可以考虑使用AWS等服务将处理资源放置在与您的客户相近的地理位置。然后,您可以为西海岸客户提供与东海岸客户不同的 URL,或者您可以使用地理负载平衡,以便每个人都可以使用相同的 URL(您的负载平衡服务将流量路由到全球最好的服务器)。过去,我已经成功地将UltraDNS用于此目的。

于 2012-09-11T18:10:11.490 回答