Устранение проблем с низкой скоростью работы сайта

Задача

Сильно тормозит загрузка страниц (4-5 секунд) и особо долго работает фильтр отбора записей (около 20 секунд).

Нужно выяснить причины и устранить их.

Процесс

  1. Поставили расширение для диагностики
  2. Проверили скорость работы запросов к БД и формирования страниц
  3. В случае с загрузкой страниц СУБД оказалась в порядке, но проблема была в получении данных из соц.сетей, которые получали без AJAX в ходе генерации страницы по шаблону и это вызывало торможение
  4. В случае с фильтром оказалось что он разработан на чистом SQL, с нарушением рекомендаций кодекса WP и в обход API
  5. Если бы изначально в блоге использовался механизм фильтрации по терминам таксономии, получилось бы сделать фильтрации без особых изменений кода, только за счет типовых возможностей WP. Но архитектура была сделана через фильтрацию по метаполям (долгий, сложный, медленный и дорогой способ), потому пришлось чуть чуть поправить шаблоны. Переписывать архитектуру не стали, т.к. это нужно было делать на этапе проектирования сайта, а переписывать столь глубокие механизмы довольно дорого и долго.

Результат

Оба механизма переписали на общепринятые принципы (получене данных через AJAX и фильтрация в соответствии с API WordPress), скорость нормализовалась до 0,4 и 0,7 секунд; Заказчика скорость устроила, потому дальнейшая оптимизация была не нужна.

Отзыв

Профессиональный подход к решению задачи, грамотная аналитика, различные варианты решения во время выполнения, не боитесь брать на себя ответственность. Спасибо!

— Михаил, blog.completo.ru

Навыки

Опубликовано:

16.07.2013