请记住,我对这些东西的经验很少。
我一直在尝试在 Elastic Beanstalk 中设置多服务器 Magento 站点,使用 RDS 作为数据库,使用 EC2 作为单独的管理和前端服务器。我在 tools.pingdom.com 上测试了几个不同设置的速度,主要看他们所谓的“等待”(DNS、连接、发送、等待、接收),假设这是对需要多长时间的粗略衡量Magento 为页面生成 html。我很困惑,在不同的设置下,使用相似的服务器实例创建大致相同的页面的等待时间可能会有如此大的差异。我得到的值在 980 毫秒到 1.8 秒之间。
我以为我开始注意到一种模式。似乎 EC2 与 RDS 实例位于相同可用区的设置会更快且更一致地更快。因此,我更改了弹性 beanstalk 配置,以便 EC2 与数据库位于同一区域。我的不科学发现是,在进行此更改后,我会一直等待大约 1 秒。在我看来,相当显着的速度差异是由于应用程序服务器和数据库之间的网络延迟造成的。
我的问题分为三个部分。首先,这是将实例保持在相同区域中的期望,还是我对一小组测试结果的阅读过多?其次,这是现实世界中速度的显着差异吗?因为对我来说似乎是这样,而且似乎使用 NFS 之类的东西来共享媒体文件夹只会使情况变得更糟。第三,允许应用服务器在不同的区域启动有什么好处,这些好处是否值得增加等待时间?
另外,如果我做错了什么,请告诉我。