Производительность

Некоторое время назад меня попросили сделать что-нибудь с сайтом на  ЮМИ, главная страница которого открывалась 4-7 сек.

Здесь расскажу о шагах по повышению производительности ЮМИ.

Что делалось:

  • сайт скопировали на технологический сервер, чтобы исключить нестабильность нагрузки от посещаемости и не беспокоиться об удобстве посетителей 
  • поиск ресурсоемких макросов: поочередно отключались макросы и измерялось изменение скорости отрисовки главной страницы
  • анализ лога медленных запросов
  • подбор вариантов кеширования (рассматривалось статическое ЮМИ, статическое nginx, APC, memcached)
  • оптимизация макросов 

 

Сделано:

  • кеширование в памяти результатов работы наиболее тяжелых макросов (очистка кеша либо по времени, либо по событию изменения контента)
  • nginx как прокси на отдачу статики
  • монтирование в памяти виртуального раздела для создания временных таблиц MySQL и хранения сессий php
  • отказ от apache и работа с php5-fpm
  • замена MySQL на MariaDB в расчете на ее хранилище XtraDB 

 

Основное из этого постепенно и опишу