Улучшение настройки magento на AWS
Поэтому я задал вопрос о том, как улучшить соединение с RDS из экземпляра EC2. Это было успешно до сих пор.
В настоящее время у меня есть лучшая настройка, чем у меня изначально, и я ищу способ улучшить ее. Текущая настройка как указано ниже.
ELB
с автомасштабированием для несколькихEC2
экземпляры, работающие в magento.
EC2
экземпляры, работающие с magentoHHVM
с участиемvarnish
а также NGINX
RDS
всеEC2
экземпляр, выполняющий magento, подключен к этому хранилищу данных с 3 репликами чтения
Elastic cache
Redis сессия от всехEC2
экземпляр хранится здесь.
S3
все медиа и файлы хранятся здесь и монтируются на всех экземплярах EC2
После этого я смогувеличить TTFB до 1,79 секунды с 7 секунд, когда я только начинал, но он все еще работает немного медленнее, чем на нашем голом железном сервере с TTFB 800 мс.
Как я могу улучшить эту архитектуру дальше?
1 ответ
Несколько быстрых предложений:
- Настройте CloudFront как CDN (при условии, что вы хотите оставаться в инфраструктуре AWS). Это помогает в следующем:
- Региональное распределение медиаресурсов, чтобы географически обслуживать активы ближе к вашему клиенту
- Перенести запросы ресурсов в отдельный домен, чтобы ослабить ограничения браузера для одного хоста.
- Вы упомянули, что вы используете Redis для сессий, но я не вижу, что у вас есть для кэширования backend / full-page / configuration и т. Д. Я бы порекомендовал использовать отдельную базу данных вашего экземпляра ElastiCache для каждого типа кэша.
- Отключите модули Magento, которые больше не используются. Это должно ускорить Magento, убедившись, что при загрузке страницы загружаются только необходимые модули.
При правильной настройке Magento и его инфраструктуры легко достичь скорости TTFB < 100 мс. Также возможно, что после всех этих оптимизаций узким местом может быть сам код (пользовательские функции, плохо написанный код и т. Д.).