TGViewer
RWB Тех RWB Тех @tech_rwb · 15.3K subscribers
Post #791 6.06K
🟣 Привет!

На связи Андрей Аксёнов, QA Lead департамента защиты от DDoS-атак Wildberries & Russ. В мини-интервью он расскажет, как в компании проводят нагрузочное тестирование систем, выдерживающих огромный трафик.


❓ Что для вас является объектом нагрузочного тестирования: отдельный сервис, цепочка сервисов, целый пользовательский сценарий?

Объект подбираем под конкретную задачу.

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

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

Сквозные (end-to-end, E2E) пользовательские сценарии запускаем, чтобы убедиться: готовый функционал ведёт себя под нагрузкой именно так, как ожидает пользователь — от фронтенда через бэкенд до всех внешних интеграций.


❓ Какие типы нагрузки проверяете?

Используем все классические паттерны:

— Steady (стационарная нагрузка) — убеждаемся, что сервис стабильно держит предельную повседневную мощность в течение 1–2 часов без деградации.

— Soak (длительная нагрузка) — ищем скрытые проблемы: утечки памяти, незакрытые соединения и другие эффекты, которые проявляются только через часы или сутки.

— Spike (всплеск) — смотрим, как система реагирует на резкий пик трафика и насколько быстро восстанавливается после его спада.


❓ Какие метрики для вас ключевые?

Следим за двумя группами показателей.

Технические метрики качества сервиса:

— RPS (Requests Per Second — запросы в секунду) — главная характеристика пропускной способности.

— Latency (время ответа) — обязательно анализируем перцентили p95 и p99, потому что именно «хвост» распределения показывает реальный пользовательский опыт. Среднее значение часто обманчиво.

— Error Rate (процент ошибок) — стремимся к нулю, хотя в реальных условиях допустимый уровень зависит от сценария.

Утилизация ресурсов:
— CPU (загрузка процессора),
— Memory (потребление оперативной памяти),
— Network I/O (сетевая нагрузка).


❓ Какие инструменты используете?

Для нагрузки на уровне L7 (прикладной уровень) разработали собственный инструмент. Это высокопроизводительная система генерации трафика, которая точно воспроизводит поведение реальных покупателей и позволяет создавать нагрузку в сотни тысяч RPS.

Для L4 (транспортный уровень) применяем проверенные решения: Cisco TRex и MoonGen. На этом уровне генерируем «сырой» TCP/UDP-трафик, чтобы проверить пропускную способность сети, количество соединений и устойчивость к объёмным атакам.


❓ Как понимаете, что сервис выдержал нагрузку?

Сервис считается прошедшим тест, если выполняются три условия одновременно:

— Функциональность сохранена: нет ошибок в ответах, бизнес-логика исполняется корректно.
— Скорость в пределах нормы: например, p95 времени ответа не превышает установленный порог (часто < 10 мс для внутренних сервисов).
— Стабильность ресурсов: потребление CPU, памяти и сети предсказуемо, после теста показатели возвращаются к базовым значениям без «залипания».
  • 🔥 28
  • ❤ 19
  • 👍 9
More from @tech_rwb
  1. Sep 26, 2026➡️ У каждого свой способ расти Собрали несколько карьерных советов от тех, кто уже прошёл…
  2. Sep 25, 2026Свежий выпуск газеты: открытые позиции 😍 Сегодня в номере — разработка и информационная б…
  3. Sep 24, 2026Post #1097
  4. Sep 22, 20261️⃣ Как изменился TTM после раннего погружения в код Даниил Тимонин, технический руководит…
  5. Sep 20, 2026Подводим итоги: С целью сохранения конфиденциальности данных мы публикуем только часть ник…
  6. Sep 18, 2026Теперь AI помогает собирать образы из ассортимента Wildberries В карточке товара появилась…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →