Производи­тельность и безопасность

Оптимизация нагрузки на сайт

Разберём, почему сайт медленный, и ускорим. С замерами до и после — результат можно проверить, а не почувствовать.

Обсудить задачу

Проблема

Страницы открываются дольше, чем раньше, хотя ничего не меняли. Или меняли — и стало хуже, но непонятно, от чего именно. Хостинг отвечает, что с их стороны всё в порядке, и формально он прав: упирается не сервер, а то, как сайт с ним работает.

«Ускорим сайт» без замеров до и после — это не работа, а обещание. Поэтому начинаем с показаний под настоящей нагрузкой: пока непонятно, что тормозит, любая правка — угадывание.

Что проверим

Запросы к базе

Медленные, повторяющиеся и те, что выполняются в цикле. Самая частая причина, о которой узнают последней.

Кеширование

Что кешируется, а что должно и не кешируется. И что кешируется зря.

Настройки сервера

Память, версия PHP, ограничения процессов, настройки базы данных.

Вес страницы

Изображения, скрипты и шрифты: сколько из этого нужно для первого экрана.

Как проходит работа

  1. Снимаем показания

    Профилирование на боевой системе в часы пиковой посещаемости. Синтетические тесты показывают не то, что болит.

  2. Разбираем и считаем

    Отчёт со списком узких мест, временем каждого и оценкой выигрыша. Вы решаете, что чиним первым.

  3. Правим

    Сначала на копии, потом на боевой. Каждое изменение отдельно, чтобы было видно, что дало эффект.

  4. Замеряем снова

    Те же показатели, та же нагрузка. Разница до и после и есть результат.

Что получите

Замеры до и после

Те же показатели и та же нагрузка. Разница и есть результат работы.

Список изменений

Каждое отдельно, чтобы было видно, что именно дало эффект.

Объяснение

Что тормозило и почему. Без этого через полгода всё вернётся.

Частые вопросы

Нужно ли останавливать сайт

Нет. Профилирование работает на боевой системе и почти не влияет на скорость. Правки сначала проверяем на копии, на боевую переносим в согласованное окно.

А если причина в хостинге, а не в коде

Так тоже бывает, и это видно по замерам. В отчёте напишем прямо: переписывать код бессмысленно, нужен другой сервер или другая настройка.

Насколько станет быстрее

До замеров не знаем. Обычно самое дорогое — запросы к базе, и там разница бывает в разы; но пока не посмотрели, называть цифру нечестно.

Надолго ли хватит результата

Пока не вырастет каталог или не добавится новый функционал. Поэтому в отчёте объясняем, что именно тормозило: с этим знанием следующая правка не вернёт всё обратно.

Расскажите, что тормозит

Адрес сайта и что именно медленно: каталог, поиск, оформление заказа. Ответим в рабочий день.

До 10 файлов, вместе не больше 100 МБ. Снимки экрана, журналы, документы