К сожалению, сайт не работает без включенного JavaScript. Пожалуйста, включите JavaScript в настройках вашего броузера.

Проверка на прочность: зачем бизнесу нужны нагрузочные тесты

Фото Getty Images
Фото Getty Images
Бизнес не может расти спокойно, если его собственники не уверены в том, что сайт и приложение смогут выдержать наплыв пользователей. Это не только мешает развиваться, но и ограничивает в проведении акций и распродаж. Маркетинговая кампания у тех, кто не проводит нагрузочные тесты, может иметь эффект, противоположный задуманному: вместо новых клиентов и прибыли бренд получит негативные отзывы тех, кто не смог сделать заказ. В будущем это может привести к оттоку пользователей и отрицательной динамике. О том, как этого избежать, особенно если вы хотите на основе своего бизнеса сделать суперапп, рассуждает гендиректор digital-студии QTIM Антон Фокин

Зачем нужно нагрузочное тестирование

В ноябре 2022 года американская певица Тейлор Свифт, ставшая в 2023-м «Человеком года» по версии журнала Time, открыла продажи на свой будущий тур по США The Eras Tour. Они проходили на сайте Ticketmaster, через который американцы покупают 70% всех билетов на концерты, шоу и спортивные мероприятия. Сайт упал через час, не выдержав ажиотажа со стороны миллионов фанатов. Это вызвало много волнений в соцсетях и СМИ, призывы бойкотировать компанию-посредника. В итоге президент Live Nation, головной компании Ticketmaster, даже вынужден был извиниться перед артисткой и ее поклонниками на слушаниях по изучению практики Ticketmaster в американском Сенате.

Такого фиаско можно было избежать. Сервис по продаже билетов знал, что спрос будет огромный: в рамках предпродажных мероприятий 3,5 млн человек зарегистрировались в качестве Verified Fan для защиты от спекулянтов. Но сайт все равно не смог адаптироваться под потенциальную нагрузку. В частности, учесть возможную атаку ботов, которая в три раза превысила все, что Ticketmaster видел раньше, — причем в этот раз боты впервые направили свои усилия на сервер, обслуживающий верифицированных фанатов. Результат: массовый иск с участием 300 разозленных фанатов, направленный против Live Nation и Ticketmaster.

Forbes.Идеи для бизнеса
Канал о стартапах, новых идеях и малом бизнесе
Подписаться

Конечно, бизнес поменьше не столкнется с последствиями такого масштаба, но и он может испытать на себе повышенную нагрузку, рискуя потерять как деньги, так и репутацию. В этом году пользователи пожаловались на сбой в приложении Flowwow на День святого Валентина — люди не могли заказать букет в подарок по несколько часов. Жалобы начались в полдень, затронули как крупнейшие российские города, так и локации за рубежом — Тбилиси и Алма-Ату. Проблемы были и с сайтом Flowwow. Руководство прислушалось к беспокойству о том, что же будет 8 марта, если менее популярный праздник 14 февраля обрушил серверы, — и Международный женский день прошел для сервиса без таких крупных сбоев. 

 

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

Почему это актуально для всех

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

 

Во-вторых, важно готовиться к непредсказуемым событиям, «черным лебедям». Мероприятия, направленные на увеличение потенциальной нагрузки на сайт или приложение, также делают их более устойчивыми к другим проблемам. Например, Роскомнадзор в попытках ограничить работу определенных сервисов периодически случайно блокирует и тех, кто совершенно ни при чем. А это очень опасно для бизнеса. К примеру, в 2020 году Schneider Electric провели исследование, которое показало, что крупные банки в среднем теряют $10 000–20 000 за минуту простоя из-за сбоев в работе серверов или систем хранения данных. Суммарно до восстановления серверов банк может потерять $200 000–300 000.

Наконец, работа с «бутылочными горлышками» сайта — в частности, редкими функциями, которыми пользуется только часть посетителей, — улучшает работу сервиса целиком. Допустим, у вас есть проблемы с работой профиля пользователя. Если 1000 человек захочет одновременно зайти в личный кабинет, пострадают от этого все — даже те, кто просто решит воспользоваться каталогом. Поэтому важно превентивно работать с узкими местами.

С чего начать работу с нагрузкой

Для начала нужно провести аналитику прошлых лет и посмотреть, сколько было пользователей, заказов и т. п. Это особенно важно при наличии сезонного фактора. В том же Flowwow аналитики наверняка выгрузили данные за 8 марта 2023 года, оценили динамику рынка в целом и сделали предсказание по количеству пользователей, которые могут прийти в этом году. Конечно, это число не должно быть «потолком» нагрузки. Нужно оставить определенный процент — его точное значение тоже подскажут исторические данные, свои и конкурентов, — на случайные колебания.

 

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

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

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

  • использовать алгоритмы, позволяющие оптимизировать запросы и код. Пример: разработчики могут применять конкретные паттерны, чтобы упростить поиск или сортировку данных. 
  • правильно структурировать базу данных. Когда пользователь отправляет запрос, информация по определенным правилам ищется в базе данных. С точки зрения структуры, это может быть одна таблица с большим числом столбцов, а может быть 10, которые постоянно обращаются друг к другу. В последнем варианте скорость — а значит, и доступная нагрузка — уменьшается. Решением может стать создание виртуальных таблиц, которые в своей структуре повторяют самые популярные запросы.    
  • грамотно построить архитектуру. Нужно правильно распределить серверы — по стране, если у вас много филиалов, — и продумать точки отказа. Например, если один ваш сервер упал, то всегда должен быть резервный, куда пользователь и дальше будет «стучаться». А первый при этом должен автоматически через какое-то время подняться. Также полезная вещь в архитектуре проекта — это автодозвоны. Например, такое решение мы внедрили в «Онлайн-школе №1»: если сервер отказывает, в поддержку поступает сообщение, и специалисты сразу приступают к устранению проблемы. 

При чем тут супераппы

Сегодня многие предприниматели хотят сделать из обычного приложения суперапп. Лидеры в этом — крупные холдинги, такие, как VK, «Яндекс», «Сбер», «Тинькофф». Но и стартап может выйти за пределы своей ниши. 

Например, PowerApp — сервис для шеринга зарядных устройств. В приложении можно найти ближайшую шеринг-станцию и арендовать пауэрбанк. Однако создатели сервиса решили пойти дальше. Они стали располагать станции, в числе прочего, в ресторанах — в основном из массового сегмента. Почему бы не объединить две отрасли, решили они — и в приложение PowerApp интегрировали возможность бронирования столов, а также виртуальные туры по кафе. Так технический сервис стал супераппом. 

 

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

В качестве ориентира можно рассмотреть казахстанский Kaspi. Изначально это был банк, на основе которого сформировалась целая экосистема. Сейчас там можно приобрести практически все, что есть в Казахстане, — от госуслуг до вызова уборщицы на дом. И Kaspi тщательно следит за тем, чтобы нагрузка на приложение не стала слишком большой и не привела к проблемам в работе. У них грамотно спроектированная архитектура, которая распределена по всей стране, продуманные точки отказа и топовые специалисты, готовые в режиме 24/7 устранять неполадки.

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

Мнение редакции может не совпадать с точкой зрения автора

 

Мы в соцсетях:

Мобильное приложение Forbes Russia на Android

На сайте работает синтез речи

иконка маруси

Рассылка:

Наименование издания: forbes.ru

Cетевое издание «forbes.ru» зарегистрировано Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций, регистрационный номер и дата принятия решения о регистрации: серия Эл № ФС77-82431 от 23 декабря 2021 г.

Адрес редакции, издателя: 123022, г. Москва, ул. Звенигородская 2-я, д. 13, стр. 15, эт. 4, пом. X, ком. 1

Адрес редакции: 123022, г. Москва, ул. Звенигородская 2-я, д. 13, стр. 15, эт. 4, пом. X, ком. 1

Главный редактор: Мазурин Николай Дмитриевич

Адрес электронной почты редакции: press-release@forbes.ru

Номер телефона редакции: +7 (495) 565-32-06

На информационном ресурсе применяются рекомендательные технологии (информационные технологии предоставления информации на основе сбора, систематизации и анализа сведений, относящихся к предпочтениям пользователей сети «Интернет», находящихся на территории Российской Федерации)

Перепечатка материалов и использование их в любой форме, в том числе и в электронных СМИ, возможны только с письменного разрешения редакции. Товарный знак Forbes является исключительной собственностью Forbes Media Asia Pte. Limited. Все права защищены.
AO «АС Рус Медиа» · 2024
16+