Главная > Собеседование > “Сайт работает медленно” (с) пользователь — с чего начнёте диагностику?

“Сайт работает медленно” (с) пользователь — с чего начнёте диагностику?

Сначала нужно как можно больше узнать у пользователя. Что именно он имеет в виду, как он это увидел, как он ожидает / хочет, чтобы было.

Затем пойду на сайт сам, под инкогнито (без расширений, без лишних кук) и попытаюсь воспроизвести.

Диагностику медленного сайта мы будем проводить под инкогнито браузером, чтобы исключить сторонние эффекты от расширений и кук

Когда смогу воспроизвести, дальше дело техники.

 

Что может работать медленно в теории? Много чего. Медленный сервер, старая версия php и отсутствие opcache (не включен, переполнен, ..), медленный «жёсткий диск» сервера, слабый процессор, узкий сетевой канал, отсутствие кеша там, где следовало бы иметь кеш, протокол не h2, но много разных файлов js, css, .., много DNS lookups, и дальше по списку, всё-всё, что пишут в сервисах вроде page speed может подойти сюда. Дальше может быть медленный js, по разным причинам: может быть поздно начал загружаться, может быть он просто очень большой, может быть неэффективный код js, может быть он пытается получить доступ к дополнительным внешним ресурсам и мы ждём уже их, и так далее.

Сервис проверки скорости страницы обрабатывает мой запрос

Результат проверки скорости загрузки страницы, замечания что нужно исправить для увеличения скорости

 

В конце концов, может быть так, что статический кеш не применим, и даже код более-менее хороший, но обращений к системе много. Тогда можно подумать про скейлинг. В первую очередь в высоту. Упираться, скорее всего, будем в процессор, код пхп. Значит возьмём больше ядер, более быстрые ядра. Когда не будем умещаться в один сервер, будем скейлиться в ширину: много серверов, например этот воркфлоу позволяет реализовать плагин HyperDB.

Плагин HyperDB от Automattic, он реально работает

 

В общем, не вижу в этом вопросе какой-либо сложности.

Обсуждение

avatar

wpDiscuz