Улучшение настройки magento на AWS

Поэтому я задал вопрос о том, как улучшить соединение с RDS из экземпляра EC2. Это было успешно до сих пор.

В настоящее время у меня есть лучшая настройка, чем у меня изначально, и я ищу способ улучшить ее. Текущая настройка как указано ниже.

ELBс автомасштабированием для несколькихEC2экземпляры, работающие в magento.

EC2экземпляры, работающие с magentoHHVMс участиемvarnish а также NGINX

RDSвсеEC2экземпляр, выполняющий magento, подключен к этому хранилищу данных с 3 репликами чтения

Elastic cacheRedis сессия от всехEC2экземпляр хранится здесь.

S3все медиа и файлы хранятся здесь и монтируются на всех экземплярах EC2

После этого я смогувеличить TTFB до 1,79 секунды с 7 секунд, когда я только начинал, но он все еще работает немного медленнее, чем на нашем голом железном сервере с TTFB 800 мс.

Как я могу улучшить эту архитектуру дальше?

1 ответ

Несколько быстрых предложений:

  1. Настройте CloudFront как CDN (при условии, что вы хотите оставаться в инфраструктуре AWS). Это помогает в следующем:
    • Региональное распределение медиаресурсов, чтобы географически обслуживать активы ближе к вашему клиенту
    • Перенести запросы ресурсов в отдельный домен, чтобы ослабить ограничения браузера для одного хоста.
  2. Вы упомянули, что вы используете Redis для сессий, но я не вижу, что у вас есть для кэширования backend / full-page / configuration и т. Д. Я бы порекомендовал использовать отдельную базу данных вашего экземпляра ElastiCache для каждого типа кэша.
  3. Отключите модули Magento, которые больше не используются. Это должно ускорить Magento, убедившись, что при загрузке страницы загружаются только необходимые модули.

При правильной настройке Magento и его инфраструктуры легко достичь скорости TTFB < 100 мс. Также возможно, что после всех этих оптимизаций узким местом может быть сам код (пользовательские функции, плохо написанный код и т. Д.).

Другие вопросы по тегам