LOGO

Готовим сайт магазина к маркетинговым нагрузкам

Игорь Бахарев
18 Марта 2015, в 12:19, в Важное, в сюжете: нагрузки

Мы уделяем много внимания всяким маркетинговым приёмам, фишкам, и прочим вариантам привлечения покупателей на сайт интернет-магазина, да и вообще на любой другой сайт.

У всех на слуху провальные "Чёрные пятницы", DDOS атаки и прочие радости жизни, связанные с внезапным наплывом трафика на ваш интернет-проект.

Роль технического специалиста в жизни сайта

Роль технического специалиста в жизни сайтаВы должны запомнить одно непреложное правило: ЛЮБАЯ маркетинговая акция прежде всего должна быть согласована с вашим техническим директором или другим техническим специалистом, отвечающим за функционирование вашего сайта.

Расскажу вам небольшую историю из жизни.

Работая в одном очень крупном проекте в качестве технического директора, я столкнулся с одной крайне неприятной проблемой – кучей непонятно откуда взявшегося трафика. Утро понедельника встретило меня в 9 часов в виде испуганного админа, который сообщил мне об аномальном росте трафика.

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

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

Мы сделали несколько изменений в настройках и сумели повысить скорость его работы, однако к часу дня серверу значительно поплохело и мы начали терять тот самый трафик, потому что сервер периодически не мог обработать запросы. К двум часам дня сервер упал и вообще перестал отвечать на запросы клиентов. Трудность всей этой ситуации еще заключалась в том, что мы не могли связаться генеральным директором почти весь день – он не брал трубку.

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

На следующий день меня рано утром разбудил звонок разъяренного генерального директора, который требовал отчета.

Именно этот его звонок позволил локализовать проблему и остановить ее. Оказалось, что генерального директора одна фирма красивой презентацией раскрутила на покупку "целевых" посетителей. Ему предложение понравилось и он его оплатил. Вот таким незамысловатым способом он потерял примерно 200 т.р.

Как не потерять свои деньги?

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

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

  1. Мы должны выяснить предельные возможности нашего сервера и инфраструктуры в целом:
    a. Сколько клиентов в минуту мы способны обработать
    b. Какова предельная нагрузка на базу данных
  2. При составлении договора на услугу привлечения трафика нам необходимо четко сформулировать график прихода этого трафика на проект в рамках выясненных предельных нагрузок в предыдущем пункте.

Что делать?И так, если мы выяснили, что наш сервер одновременно способен удовлетворить потребности 20 клиентов, то это означает лишь одно, что 21 клиент в минуту вызовет определенные затруднения у нашего сервера и его производительность ухудшится: страницы будут медленнее загружаться, часть запросов к базе может вызвать ошибку. Естественно, здесь идет некоторое утрирование, но мы должны отдавать себе отчет в том, что на каком-то посетителе инфраструктура даст сбой.

Готовим сайт магазина к маркетинговым нагрузкам - 4Составляя график подачи трафика от поставщика мы должны не забыть учесть свой ОРГАНИЧЕСКИЙ трафик и вычесть его из технического задания к поставщику трафика.

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

Что делать, если трафик непрогнозируемый?

Далее мы поговорим о том, каким образом можно дополнительно подготовить свой сервер к маркетинговым акциям.

Ранее мы говорили с вами о покупном трафике, который можно описать в техническом задании и который, по сути, можно регулировать и нормировать. Но что делать, когда такое строгое описание трафика невозможно, например, когда вы участвуете в «Черной пятнице», вы по сути не можете предсказать какой объем трафика получит ваш сервер и на сколько он будет велик. Это же может касаться разного рода публикаций в онлайн журналах или в оффлайн.

Именно о таких ситуациях мы сейчас и поговорим.

Что делать, если трафик непрогнозируемый?И так. Любой сайт – это, прежде всего, программа, модули которой показывают разную ресурсоемкость. Совершенно очевидно, что на нашем сайте есть более и менее ресурсоемкие модули и разделы.

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

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

Проблемы формы поиска

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

Проблема с фильтрами товаров

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

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

На данном этапе мы уже значительно высвободили ресурсы нашего сервера и потенциально увеличили количество обрабатываемых пользователей за единицу времени примерно в 2-3 раза. То есть на данном этапе, мы можем обработать (условно) не 20 пользователей в минуту, а 50-60. Согласитесь, это существенное увеличение возможностей нашего сервера.

Никогда не делайте фильтры товаров мгновенными!

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

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

При работе с фильтрами я бы рекомендовал выбрать стратегию Яндекс.Маркета – просто показывать прогнозируемое количество товаров при применении того или иного фильтра (см. рисунок).

Главная страница - главная проблема

Продолжая рассматривать страницы нашего сайта, нельзя не отметить главную страницу.

Основные проблемы главной страницы сайтаОсобенность главной страницы такова, что она как правило содержит максимальное число возможностей сайта: витрина акций, какие-то товары (новинки), анонсы блога, новости, какие-то специальные предложения.

При планировании значительной нагрузки на сайт, а также, если ваша трафик изначально идет на главную страницу, я рекомендую в данном случае временно генерировать ее статически. Скажем по крону или вручную (зависит от того, как у вас построена работа). И отдавать клиента статический вариант страницы, изменяя ее, скажем, раз в несколько минут.

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

В случае, если на вашем сайте есть продуманная система кэширования запросов и контента, я рекомендую примерно в два раза увеличить время хранения кэша на весь период проведения рекламной акции.

Все желающие могут также посмотреть мой вебинар на эту тему на Youtube.

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