我在本地的服务器上(在印度)连接到Amazon (在美国位置)。在这种情况下,印度的web服务器从美国Amazon获取数据时,响应太慢。
但当我去美国,从同一个本地邮箱访问相同的RDS时。它的工作方式就像从本地DB获取数据一样。
ISP(印度和美国)的速度为10 Mbps。每个矿的理解距离不应该重要,因为电子可以瞬间移动。交换b/w国家网络和国际广域网是否需要时间?
基本上,我试图理解为什么速度不同,基于web服务器的位置?将RDS移动到印度的位置对速度有帮助吗?
发布于 2017-04-04 03:29:32
发布于 2017-04-04 03:29:50
你对光速的理解有点差。正如你对从地球的一边到另一边的包的复杂性的理解一样。
因此,玻璃中的光速在数据包延迟中确实起到了一定的作用,但更多的是由路由器、交换机和其他设备引起的链路争用和延迟。除了将这两台服务器更紧密地连接在一起之外,没有什么可以提高这种性能。
因此,是的,也许在印度托管数据库可能会提高性能,但可能不会。你应该测试这个来找出答案。
不过,一般来说,像您一样将应用程序服务器与其数据库分离是一种可怕的做法,原因有很多。如果可能的话,你应该把它们放在一起。
发布于 2017-04-05 19:27:13
将数据库移动到与web服务器相同的区域肯定会提高性能。电子沿着电线移动,不是以光速,而是非常快,问题是当你发送的数据包经过国家/ISP时,必须在几个路由器和防火墙上进行处理。这件事很复杂,因为在传递任何信息之前,必须来回多次旅行。
如果不能将RDS数据库移动到同一区域,则可以选择在印度地区设置缓存服务器。如果AWS服务Elasticache在印度地区可用,您可以拆分一个集群(如果没有可用的话,您可以使用您自己运行memcached的服务器来做同样的事情),这将使您长途旅行到美国并返回,并将数据的副本存储在内存中,以便web服务器可以快速访问。这只会改善普通的读取请求,而所有的写入请求仍然需要转到美国。
另一种选择可能是在印度地区建立另一个RDS,并建立一个多主解决方案,在那里两个数据库将相互同步。他们之间的距离太远了,这有点冒险,但只要请求数量少,就应该没问题。然而,建立和管理多主数据库并不是一件简单的事情.
如果您有能力将web服务器移动到美国(取决于您所服务的内容类型),您可以在印度地区使用cloudfront设置内容分发,并且印度的客户将能够以更好的延迟访问您的内容(但是,进行写操作的客户请求仍然需要进行长时间的访问)。此外,当将服务器转移到美国时,请注意“爱国者法案”及其对确保存储数据的机密性的能力可能意味着什么(虽然我猜这不是一个问题,如果您已经在美国的数据库)。
https://serverfault.com/questions/842383
复制相似问题