Привет, меня зовут Сергей Качеев, я старший разработчик в отделе сетевой инфраструктуры Яндекса. Сегодня я расскажу целый сетевой детектив о том, как мы искали баг, который убивал DNS сервер Unbound. Приготовьтесь, он будет долгим.
Рубрика «нагрузочное тестирование»
Захватывающая ловля багов, которые портили работу Unbound
2023-04-20 в 8:06, admin, рубрики: bpftrace, bug, DNS, gdb, load testing, Unbound, баги, Блог компании Яндекс, высокая производительность, нагрузочное тестирование, Серверное администрированиеИнструменты с открытым исходным кодом для нагрузочного тестирования
2022-11-04 в 18:17, admin, рубрики: load qa, qa tools, нагрузочное тестирование, стенды для тестирования, тестирование, Тестирование веб-сервисовТестирование — неотъемлемая составляющая разработки программного обеспечения. Независимо от того, насколько хорошо вы пишете код или насколько тщательно продуманным может быть первоначальный процесс тестирования, всегда есть вероятность, что что-то может ускользнуть.
Как мы проводили нагрузочное тестирование видеосвязи для встреч на 100 человек
2022-02-10 в 6:01, admin, рубрики: Блог компании Skyeng, видеоконференцсвязь, видеосвязь, нагрузочное тестирование, производительность, сервер, соединение, стриминг, Тестирование веб-сервисов, трафикКогда вы добавляете новых пользователей, а трафик уменьшается без снижения качества видео в каждом из каналов, — либо случилось чудо, либо где-то теряются пакеты.
У нас в Skyeng есть групповые уроки английского, они ограничены 10 участниками. Поскольку мы не используем промежуточного преобразования сигнала, а подключаем каждого пользователя, используя SFU, получается, что каждый генерирует один исходящий поток и принимает девять входящих потоков трафика. Также наши SFU сервера записывают уроки на случай каких-то сложностей с учителем (то есть для контроля качества) и для анализа различных показателей урока.
Мы учим не только английскому, но и математике, и другим предметам. Вдруг выяснилось, что для ряда занятий нужно собирать больше 10 человек, и при этом нужно иметь возможность разговаривать с каждым. Понятно, что учителю можно дать толстый канал в 1 Мбит/с, а ученикам — каналы потоньше: в 144p или 240p, например, но всё равно квадратичный рост трафика выглядел угрожающе.
Я решил протестировать Janus-видеосервер на 100 пользователях в канале и посмотреть, как быстро он упадёт. Ситуация осложнилась тем, что справки про это нет, примеров нет, и готовых решений тоже пока нет. Поэтому я и пишу.
Вы же тоже хотите посмотреть, как быстро он упадёт, да?
Читать полностью »
Нагрузочное тестирование выполнять сложно, а инструменты далеки от совершенства. Почему?
2021-01-07 в 9:45, admin, рубрики: Apache JMeter, gatling, высокая производительность, нагрузочное тестирование, нагрузочные тесты, Тестирование IT-систем, Тестирование веб-сервисов
Если вы создаёте приложение, которое должно масштабироваться — а все мы надеемся, что наши приложения будут расти — то в определённый момент нам приходится разбираться, может ли оно это делать на самом деле. Именно тогда на помощь приходит нагрузочное тестирование: если вы хотите узнать, справится ли ваше приложение с крупными масштабами, то мы просто генерируем эти масштабы и проверяем! Звучит достаточно просто.
Но потом мы пробуем действительно сгенерировать нагрузку. Это делается легко, только если ваше приложение ужасно простое, ведь тогда можно использовать что-нибудь типа Apache JMeter для генерации повторяющихся запросов. Если у вас это получится, то я вам завидую: все системы, с которыми мне приходилось работать, сложнее и требовали более изощрённой схемы тестирования.
Если ваше приложение становится чуть сложнее, то вы переходите к инструментам наподобие Gatling. Они позволяют симулировать виртуальных пользователей, выполняющих различные сценарии, что намного полезнее, чем простая осада одного или нескольких URL. Но даже этого недостаточно, если вы пишете приложение, использующее одновременно WebSockets и HTTP-вызовы в течение долговременной сессии, а также требующее повторения по таймеру определённых действий. Возможно, я серьёзно недоглядел чего-то в документации, но мне не удалось найти способа, допустим, настроить периодическое событие, запускаемое каждые 30 секунд и выполняющее определённые действия при ответе на сообщение WebSocket, а также производящее действия по HTTP, и всё это в рамках одной HTTP-сессии. Я не нашёл такой возможности ни в одном инструменте нагрузочного тестирования (и именно поэтому написал на работе свой собственный инструмент, который надеюсь выложить в open source, если найду время на подчистку кода и отделения его от проприетарных частей).
Читать полностью »
Открытые бенчмарки для нагрузочного тестирования серверов и веб-приложений
2019-11-04 в 19:31, admin, рубрики: 1cloud, linux, бенчмаркинг, Блог компании 1cloud.ru, нагрузочное тестирование, подборка инструментов, Разработка веб-сайтовЭто — подборка утилит, составленная на основе рекомендаций резидентов Hacker News и GitHub. В список вошли: Locust, Vegeta, Slow_cooker, k6 и Siege. Ими пользуются инженеры из DICE, EA и Buoyant, а также разработчики Kubernetes и Load Impact. Расскажем об этих инструментах.
Достоверный нагрузочный тест с учётом непредвиденных нюансов
2019-08-08 в 4:29, admin, рубрики: AWS, jmeter, jmeter cluster, Listener, miro, nancy_cli, pg_replay, postgresql, prometheus listener, realtimeboard, spot instances, taurus, Анализ и проектирование систем, Блог компании Miro, нагрузочное тестирование, Тестирование IT-систем, Тестирование веб-сервисов, Управление продуктомМы задумались о построении инфраструктуры больших нагрузочных тестов год назад, когда достигли отметки в 12K онлайн-пользователей, работающих в нашем сервисе одновременно. За 3 месяца мы сделали первую версию теста, которая показала лимиты сервиса.
Ирония судьбы в том, что одновременно с запуском теста мы достигли лимитов на проде, в результате чего сервис упал на 2 часа. Это дополнительно стимулировало нас начать двигаться от проведения тестов от случая к случаю к созданию эффективной нагрузочной инфраструктуры. Под инфраструктурой я подразумеваю все инструменты для работы с нагрузкой: инструменты для запуска и автозапуска, кластер для подачи нагрузки, кластер, аналогичный проду, сервисы для сбора метрик и для подготовки отчётов, код для управления всем этим и сервисы для масштабирования.
uWSGI в помощь метрикам. Доклад Яндекса
2019-08-06 в 12:41, admin, рубрики: postgresql, python, redis, uwsgi, wsgi, Блог компании Яндекс, веб-аналитика, метрики, нагрузочное тестирование, Тестирование веб-сервисов, яндекс.танкНа днях состоялся Moscow Python Meetup #66 — сообщество продолжает обсуждать актуальные инструменты, которые усиливают язык и адаптируют его к разным окружениям. В том числе на митапе прозвучал и мой доклад. Меня зовут Наиль, я делаю Яндекс.Коннект.
Рассказ, который я подготовил, был посвящён uWSGI. Это многофункциональный сервер веб-приложений, а каждое современное приложение сопровождается метриками. Я постарался показать, как возможности uWSGI способны помочь в сборе метрик.
Нагрузочное тестирование веб-проекта — без купюр
2019-06-21 в 13:38, admin, рубрики: Блог компании 1С-Битрикс, Веб-разработка, нагрузочное тестирование, Разработка веб-сайтов, управление проектамиДрузья, добрый день!
Продолжаем серию публикаций «без купюр» о проектах, связанных с разработкой, часто с приставкой «веб». Поговорим сегодня о нагрузочном тестировании. Проблема в том, что часто ни клиент, ни руководитель проекта не понимают, зачем оно нужно, какие риски оно позволяет снизить, как его организовать и как, а это самое, думаю, сложное, интерпретировать его результаты с пользой для бизнеса. Наливаем кофе и поехали…
Читать полностью »
Влияние Transparent Huge Pages на производительность системы
2019-04-03 в 11:17, admin, рубрики: gatling, performance, Блог компании Tinkoff.ru, высокая производительность, исследование производительности, нагрузочное тестирование, Тестирование веб-сервисовСтатья публикуется от имени Ахальцева Иоанна, Jiga
Tinkoff.ru сегодня — это не просто банк, это IT-компания. Она предоставляет не только банковские услуги, но ещё выстраивает экосистему вокруг них.
Мы в Tinkoff.ru заключаем партнерство с различными сервисами для повышения качества обслуживания своих клиентов, и помогаем становиться этим сервисам лучше. Например, мы проводили нагрузочное тестирование и анализ производительности одного из таких сервисов, которые помогли найти узкие места в системе — включенные Transparent Huge Pages в конфигах ОС.
Если вы хотите узнать каким способом провести анализ производительности системы и что из этого получилось у нас, то добро пожаловать под кат.
Оркестр перфоманса
2019-03-15 в 10:21, admin, рубрики: devops, kubernetes, nomad, performance, Блог компании Яндекс.Деньги, высокая производительность, исследование производительности, нагрузочное тестирование, оркестровка, Тестирование IT-систем, Тестирование веб-сервисовЕдва ли будет неверным сказать, что лучшие из людей
обретают радость через страдание.
Людвиг ван Бетховен
Я Сергей, работаю в Яндекс.Деньгах в команде по исследованию производительности. Хочу поведать вам начало истории о нашем пути к использованию оркестровки — как мы выбирали инструменты и что при этом учитывали. Всё события из статьи происходят в реальном времени, поэтому вы, дорогие читатели, следите за развитием ситуации практически в прямом эфире.