Highload++ 2017 завершён!

Профессиональная конференция разработчиков высоконагруженных систем

СКОЛКОВО, Москва 7 и 8 ноября

11-я ежегодная конференция для разработчиков highload-систем, которая соберет   2 700 участников из разных регионов России и мира. Мероприятие направлено на обмен знаниями о технологиях, позволяющих одновременно обслуживать многие тысячи и миллионы пользователей.

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

  • Главная
  • Тестирование, нагрузочное тестирование

Контроль качества высоконагруженных систем
Тестирование, нагрузочное тестирование

Доклад принят в Программу конференции
Avito

Программист, команда поиска Avito.ru.
3 года опыта web-разработки на Python, последние 4 года работает в highload-проектах, интересуется noSQL-базами данных и облачными технологиями. Разработал пилотную версию шардинга для Tarantool 1.6 и полный цикл тестирования шардинга в отделе Tarantool. Автор tarantool-debugger.

Тезисы

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

В своем докладе я расскажу о том, как построить процесс контроля качества highload-сервисов с нуля:
* Контроль изменений в продукте: пишем тесты, по результатам которых можно принимать решения.
* Поиск узких мест: оцениваем прыжки в производительности, используем pprof, pstack и language-specific утилиты для анализа деградации и спайков.
* Влияние окружения: создаем "стерильные" условия тестирования, как kubetnetes, docker и виртуальные машины могут смазать результаты.
* Бизнес-логика: проверяем корректность бизнес-логики во время нагрузочного теста, техники для проверки больших объемов данных.
* Отказоустойчивость: измеряем производительность при отключении отдельных частей системы, немного расскажу про jespen и тесты распределенных систем.
* Автоматизация: проводим эксперименты на каждый коммит, не требуя дополнительных ресурсов (разбор конкретного примера с anisble и сервисом для сбора и отображения результатов).
* Инструменты: Live-демонстрация нагрузочного тестирования и сравнение популярных инструментов (Yandex Tank, k6, WRK2 и другие).

К докладу будет приложен репозиторий с демо-сервисом и реализованной инфраструктурой нагрузочных тестов.

Другие доклады секции
Тестирование, нагрузочное тестирование

Rambler's Top100