我希望两个相同的网站共享一个数据库。一台服务器位于亚洲,托管网站和数据库。另一台服务器位于美国,通过远程数据库托管相同的网络。然而,美国的网络响应速度很慢,但是当将数据库移动到本地服务器(美国服务器)时,网络响应速度很快。如何加快美国服务器与亚洲数据库的连接速度?
我使用的是Centos7+Nginx+MySQL。
vid*_*rlo 28
如何加快美国服务器与亚洲数据库的连接速度?
你可能不能。美亚距离很远,并且存在延迟。简而言之:光的速度是有限的。
您可能应该考虑查询远程数据库的替代方案,例如在多个位置缓存资产、使用 CDN 或使用数据库复制方案,以便您可以拥有数据的本地副本。
Pet*_*des 14
您的 Web 应用程序是否进行多个单独的数据库查询?一个查询是否依赖于前一个查询,或者是否存在可以并行运行以重叠其延迟的独立查询?
如果是后者,请确保这实际上发生在您使用的任何编程语言中,而不是不必要地序列化您的查询。
如果这还不够或不可能,您需要以某种方式减少 Web 服务器和数据库之间的往返延迟,或者通过复制数据库以便您可以拥有本地副本,缓存其中一些不重要的“热”部分经常更改,或各种其他事情,例如缓存 Web 服务器的最终输出或 CDN 可以执行的其他操作(请参阅 vidarlo 的答案)。
你无法提高光速。{需要引用}
您可能需要研究 MySQL 提供的任何复制,而不是洲际查询。您需要在亚洲拥有一个网络服务器和一个数据库服务器,并在每个地点(美国、欧盟、非洲、中东等)复制。当网络服务器写入时,本地数据库立即更新,然后该更新由 MySQL 内部推送到远程数据库服务器。
优点:
缺点:
归根结底,这是一个基础设施设计问题,而不是真正的网络服务器问题。
| 归档时间: |
|
| 查看次数: |
4846 次 |
| 最近记录: |