我们有3个EC2实例和3个RDS实例 - 每个EC2实例使用与其主数据库位于同一可用区中的RDS实例。
rds实例都具有相同类型的数据和数据库/表结构。
其中一个表包含(按需)导出到JSON并由Web应用程序使用的配置数据。
我有一个PHP程序,可以在其关联的本地数据库上编辑此配置参数表。 我最近添加了代码,以便在保存编辑时将它们写入所有三个数据库。这些只是简单的表更新。代码打开第一个数据库 - 更新受影响的行,关闭数据库,打开第二个数据库,更新受影响的行等等。
更新本地RDS实例需要 700毫秒才能完成。 更新任一远程RDS实例需要近一分钟。
我在更新时使用RDS实例端点作为服务器名称。
我对如何开始解决问题感到茫然 建议/建议将非常感谢。
答案 0 :(得分:1)
我理解这个问题。那么,这三个设置(EC2 + RDS)是在不同的地理位置,还是在同一个位置的不同可用区域?基本问题是,如果在本地设置,它需要不到一秒钟;为什么花1分钟更新远程设置。
我建议你从每个EC2到其他EC2实例的ping请求开始,并记下时间间隔和数据包丢失。这将使您对网络延迟有一个公平的了解。
此外,您可以使用Unix工具MTR监控不同服务器之间的网络。