August 2, 2021

[Кейс] Ускорение работы интернет-магазина в 12-18 раз на стороне сервера

Ко мне в мае попал интернет-магазин, у которого обнаружилась одна интересная особенность. Периодически владелец замечал, что сайт "подвисает" при переходе между внутренними страницами. То есть, первая открывается без проблем, а вот на вторую уже не попасть — бесконечная загрузка.

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

Видимо, поковырялся, понял, что там пахнет жареным, и просто отрапортовал "я сделяль". Проверить это заказчик не может, значит, задача закрыта.

Посещаемость сайта продолжила расти и в какой-то момент стала больше 50 посетителей в единицу времени. А это был лимит старого сервера.

Это как если бы вы владели оффлайн-магазином и заставляли ждать покупателей снаружи магазина неопределённое количество времени до тех пор, пока не освободится пространство внутри.

То факту, разрабы просто взяли и ограничили посещаемость сайта.

Сейчас сложно посчитать, сколько недель / месяцев (?) сливали деньги на контекстную рекламу и теряли пользователей из SEO. Такой нюанс очень сложно заметить, если постоянно не проверять сайт.

Перенос на выделенный сервер у нас занял часов 10, пока исправили все косяки с ним связанные.

Кроме основной проблемы с max user connections, обнаружили почту в чёрном списке :)

Этап II: ускорение сайта

После того, как сайт смог в принципе принимать посетителей, занялись скоростью загрузки.

Главная грузилась 3 сек. только на стороне сервера:

После оптимизации сервер стал отвечать почти в 12 раз быстрее.

Самой проблемной страницей была страница категории.

Из-за неоптимизированных запросов сервер мог отвечать до 7.4 сек. Семь секунд, Карл!!!

Пример проблемного запроса

После установки индексов и других работ сервер стал отвечать в 18 раз быстрее:

Как результат, конверсия в заказ выросла на 46% (!)

Пока данные незначимы, но уже понятно, что сайт задышал полной грудью

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

Если у вас выделенный сервер и нужно ускорить сайт, напишите мне Вконтакте или в Телеграм. Помогу ускорить ваш сайт для лучших результатов в SEO и платной рекламе.