Кейс: Как подготовить сайт к сезону продаж, если отделы воюют?

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

В сентябре 2014 года к нам обратился один из лидеров рынка авто шин. В ходе разговора выяснилось, что сайт у них «хороший, но периодически выдает ошибку 502, страницы загружает медленно, а иногда и вовсе глючит». Причем «сейчас еще ничего, а вот в сезон активных продаж всё ужасно».

Автопокрышки продаются активнее всего в течение 1 дня в году. Всего 1 день на весь год, когда продажи взлетают до небес. Этот день в народе называется «день жестянщика»: осенний вечер плавно переходит в зимнее утро. И к этому дню из года в год не готовы буквально все.

В том числе и продавцы авто шин: сайты интернет-магазинов не выдерживают резко подскочившей нагрузки и перестают быть доступными. Представляете, как это обидно и больно, когда в тот единственный день, когда продать можно всё, что угодно, твой сайт безжизненно лежит и вместо товара показывает посетителям надпись «Ой, кажется что-то пошло не так».

Пока отделы воюют, продажи стоят

Когда клиент пришел к нам, ситуация была сложной. Действующий администратор сайта успел поругаться с программистами. Его позиция гласила: «Сайт тормозит, потому что код плохой, а не потому что сервер маломощный».

Программисты парировали: «На другом сайте такой же код и всё в порядке. Смените сервер».

Север сменили, взяли более мощный. Проблемы остались. Отношения между программистами и сисадмином дошли до игнорирования взаимных требований. Но страдает в этой ситуации клиент, продажи, бизнес.

Заколдованный круг

Заколдованный круг

Правду можно было бы искать долго (а предшественники именно этим и занимались), но сезон продаж всё ближе, а проблем с сайтом меньше не становится. Клиенту нужно, чтобы сайт работал, выдерживал резко возросшую нагрузку. Ему не важно, кто прав, кто виноват.

Поэтому клиент нанял нас для решения одной главной задачи — подготовить сайт к сезону продаж.

Искать новых программистов, переписывать код и тестировать нагрузку уже было поздно, мы решили, что будем отталкиваться от версии «проблемы с сервером».

Начали с анализа конфигурации сервера, проанализиовали нагрузку, выявили узкие места. Заказали сервер, чтобы настроить, отладить, потом переключиться.

На реальных данных клиента попробовали разные реализации СУБД — mysql, perconadb двух версий и mariadb. С тюнингом каждой и тестами. Выбрали самую быструю. Поставили рядом апач и php-fpm, посмотрели на скорость и расход ресурсов. Немного настроили операционку, и в итоге получили генерацию страницы на 3-15% быстрее, чем на прошлом сервере и дополнительный запас по ресурсам на начало сезона. Бюджет клиента на сервер был (как всегда) ограничен, поэтому запас был небольшой.

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

Программисты со своей стороны делать что-либо отказались, опять заговорив про то, что «это не их проблема».  Со своими ресурсами и нестандартными идеями мы смогли придумать временное решение.

Первый пик пережили без потерь, хоть и не без трудностей

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

А вот большая часть конкурентов «лежала» неделю: их интернет-магазины не позаботились заранее о возрастающей нагрузке.

Тот самый день, который в бизнесе продажи автошин год кормит пришел внезапно: тонкий ледок покрыл проезжую часть и наутро количество автовладельцев, спешащих в шиномонтаж с новыми и старыми шинами, превысил все мыслимые пределы.

8b1bc3953e2450fdaf9a93249522ad24_small

Интернет-магазин нашего клиента в пик посещаемости  особых затруднений не испытывал.

Результат — лучшая реклама для клиента. Когда человек не просто тратит деньги «на процесс, работу», а с вашей помощью зарабатывает деньги — это лучшая рекомендация.

Надо ли говорить, что после удачных продаж этого сезона, которым не препятствовали ни технические причины, ни война сисадминов с программистами, этот магазин автошин стал нашим постоянным клиентом?