改进 AWS 上的 magento 设置

改进 AWS 上的 magento 设置

所以我问了一个问题这里关于如何改进从 EC2 实例到 RDS 的连接。到目前为止,这一方法已经成功。

我目前拥有的设置比最初的设置更好,并且正在寻找进一步改进的方法。当前设置如下所示。

ELB自动缩放EC2运行 magento 的多个实例。

EC2HHVM使用varnish和运行 magento 的实例NGINX

RDS所有EC2运行 magento 的实例都通过 3 个只读副本连接到此数据存储

Elastic cache所有EC2实例的 redis 会话都存储在这里。

S3所有媒体和文件都存储在这里,并安装在所有 EC2 实例上

到目前为止,我已经能够首次返回时间从我最初启动时的 7 秒缩短到 1.79 秒,但运行速度仍然比我们的裸机服务器慢一点首次返回时间800毫秒。

我怎样才能进一步改善这个架构?

答案1

一些快速建议:

  1. 将 CloudFront 设置为 CDN(假设您希望保留在 AWS 基础设施内)。这有助于实现以下目标:
    • 对媒体资产进行区域分布,以便将资产在地理位置上更接近您的客户
    • 将资产请求卸载到单独的域以简化同一主机浏览器限制
  2. 您提到使用 Redis 进行会话,但我没有看到您对后端/整页/配置等的缓存。我的建议是对每种缓存类型使用单独的 ElastiCache 实例数据库。
  3. 禁用不再使用的 Magento 模块。通过确保仅在页面加载时加载所需的模块,这将加快 Magento 的速度。

通过正确设置 Magento 及其基础架构,很容易实现 < 100ms 的 TTFB 速度。在完成所有这些优化之后,瓶颈也可能是代码本身(自定义功能、写得不好的代码等)。

相关内容