0

这就是我们所知道的:英国的 Web 服务器 + 英国的 SQL SERVER 因为我们无法对数据库进行实时复制,所以我们为美国提出了这个解决方案:美国的 Web 服务器 + 与 SQL SERVER 对话英国。

我们看到一个奇怪的结果,我们的页面连接速度很慢,从美国到英国的代理速度更慢,我们不明白为什么。

逻辑对我们说,sql数据比proxy(页面中所有数据)小。

你有什么想法?

4

1 回答 1

0

如果你希望你的 SQL 数据库离你的服务器那么远,你需要认真考虑减少使用的顺序查询的数量。

如果您对 MySQL 服务器的往返 ping 为 0.2 毫秒,并且您进行查询,则等待往返通信。如果按顺序进行 5 次往返查询(即等待第一个查询结束后再开始第二个查询),则需要 0.2ms * 5 = 1ms。

增加 1 毫秒的额外延迟没什么大不了的。你可能不会注意到。

如果您的数据库服务器位于同一个数据中心之外,您可能会得到至少 20 毫秒的数据库延迟。连续五个查询将花费 100 毫秒。仍然没有那么糟糕。

如果您与数据中心隔海相望,您可能会说 100-200 毫秒的延迟。然后,五个顺序查询将需要一整秒才能返回。

如果您在整个后端使用 20-30 个查询,则加载页面可能需要 10 多秒。


解决方案?

  1. 将您的数据库服务器与您的 Web 服务器放在同一个数据中心。除非您可以并行执行所有查询,或者将系统减少到每页单个查询,否则在英国拥有您的网络服务器实际上比将网络服务器和数据库服务器隔开一大片要快。
  2. 大大减少查询次数。
  3. 缓存。
于 2012-04-27T15:31:50.877 回答