Pull to refresh
49
0
Вячеслав @polarnik

Performance Engineer

Send message

Как ускорить запросы к InfluxDB разными способами

Reading time12 min
Views3.3K

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

Меня зовут Вячеслав Смирнов, я ускоряю и тестирую инфраструктурные сервисы в Miro. Ещё я развиваю сообщество нагрузочников в telegram: делюсь там кое-какой экспертизой. В частности, если выполнять тесты производительности регулярно, по несколько раз в день, то вскоре в популярном хранилище тестов InfluxDB фильтровать результаты тестов производительности становится сложно. Сегодня я расскажу про 12 шагов, как можно ускорить InfluxDB. Основным из них является ускорение с помощью nginx кэширования. Пример использования кэширующего nginx, в качестве источника данных для Grafana можно найти тут. Все остальные примеры, которые мы будем разбирать я вынес сюда. А слайды оставил здесь.

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments0

Атака не клонов, или Генерация и анализ тестовых данных для нагрузки. Часть 3

Reading time8 min
Views1.7K

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

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments0

Атака не клонов, или Генерация и анализ тестовых данных для нагрузки. Часть 2

Reading time7 min
Views7.7K

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

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments0

Атака не клонов, или Генерация и анализ тестовых данных для нагрузки. Часть 1

Reading time6 min
Views3.3K

Как добиться необходимого контроля, удобства и даже скорости при подготовке тестовых данных для микросервисов и тестов производительности? В каких случаях лучше не генерировать XML и JSON файлы с помощью конкатенации строк? Зачем анализировать статистику по SQL запросам?

Меня зовут Вячеслав Смирнов, и я ускоряю дистанционное банковское обслуживание юридических лиц, а еще поддерживаю чат QA — Load & Performance в Телеграм, где сообщество инженеров по тестированию производительности обсуждает тестирование нагрузки.

Статья получилась длинной, поэтому сегодня я расскажу про подготовку тестовых данных для тестирования производительности и про то, как с помощью SQL, Pandas и Java эти данные готовить. Поговорим про анализ метрик и логов с точки зрения данных и с использованием InfluxDB, Grafana и прочих инструментов, А ещё о том, как может выглядеть хороший отчет по системе, в которой много данных. В следующих частях перейду к генерации и анализу тестовых данных для нагрузки.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments0

Grafana, InfluxDB, два тега и одна сумма. Или как посчитать сумму подгрупп?

Reading time12 min
Views32K

Всем привет!

Занимаюсь тестированием производительности. И очень люблю настраивать мониторинг и любоваться метриками в Grafana. А стандартом для хранения метрик в инструментах для подачи нагрузки является InfluxDB. В InfluxDB можно сохранять метрики из таких популярных инструментов, как:


Работая с инструментами по тестированию производительности и их метриками, накопил подборку рецептов программирования для связки Grafana и InfluxDB. Предлагаю рассмотреть интересную задачу, которая возникает там, где есть метрика с двумя и более тегами. Думаю, это не редкость. И в общем случае задача звучит так: подсчёт суммарной метрики по группе, которая делится на подгруппы.
Посчитаем тремя способами
Total votes 24: ↑24 and ↓0+24
Comments11

Однажды встретились JMeter и незнакомка…

Reading time12 min
Views23K

Кадр из фильма «Дом у озера». Встреча (www.kinopoisk.ru)

Джим ещё не знал, как подойти к ней, с чего начать разговор и на каком языке его вести. Но он видел многое, владел языками и имел в рукаве не один козырь. И будучи уверенным в помощи верных друзей (это мы с вами) и забыв про сомнения, шёл на встречу судьбе.

Ниже рассказ о том, как Джим завоёвывал снова и снова сердце незнакомой системы. Не подумайте, что незнакомок было несколько. Она была одна, единственная, но такая разная, и от того истории будут следовать одна за другой.
Приятного чтения
Total votes 21: ↑19 and ↓2+17
Comments5

TailSampler — паралельная отправка GET-запросов в Apache.JMeter

Reading time14 min
Views13K

 

1. Назначение плагина «HTTP Request Tail»


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

TailSampler выручает если нужно:

  • выполнить группу GET-запросов паралельно;
  • выполнить 1000 GET-запросов, не создавая 1000 компонентов HTTP Request;
  • протестировать сайт, активно использующий AJAX, Adobe Flash, Adobe AIR, SilverLigth, ...
Total votes 13: ↑12 and ↓1+11
Comments6

Выбираем html-парсер для Apache.JMeter

Reading time11 min
Views9.2K
Среднее качество полноты извлечения ссылок на встроенные ресурсы html-парсерами Apache.JMeter
Среднее качество работы парсеров (для семи сайтов)

Предлагаю:

  • посчитать среднее качество полноты извлечения ссылок на встроенные ресурсы html-парсерами Apache.JMeter;
  • проверить правда ли извлечение ссылок в Apache.JMeter 3.0 стало более полным;
  • испытать в деле плагин CsvLogWriter.

Как гласит народная мудрость: Верить верь, но…
проверь
Total votes 10: ↑10 and ↓0+10
Comments5

Аналитический отчёт по трейсу Microsoft SQL Server

Reading time23 min
Views18K
Аналитический отчёт по трейсу Microsoft SQL Server

Постановка задачи


Выявить узкие места при работе приложения с базами данных. Составить отчёт по производительности sql-запросов, проанализировать ошибки и взаимоблокировки, составить сравнительные отчёты, посчитать степень покрытия состава хранимых процедур тестами, построить диаграммы.

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

Используемые технологии:
  • Microsoft SQL Server;
  • Microsoft Office Excel;
  • Комплекс sql-запросов, организованный в проект SQLProfilerReportHelper;
  • Инструмент нагрузочного тестирования с возможностью выполнить sql-запрос (JMeter, Visual Studio Ultimate, ...);


Уровень 300 (для профессионалов).

Если коротко, то порядок действий для формирования отчётов по готовому трейсу таков:
  1. запустить SQLProfilerReportHelper, кликнуть по кнопкам;
  2. выполнить выборку записей из таблиц-отчётов, скопировать результаты в буфер обмена;
  3. запустить Microsoft Office Excel, вставить записи из буфера в автоматически форматируемую таблицу и сохранить документ-отчёт.

Инструмент и шаблон отчёта доступны для скачивания SQLProfilerReportHelper.
Если вам интересно ознакомиться с описанием инструмента и отчётов и порядком их составления, читайте далее.
Тысячи символов, десятки картинок и примеров кода
Total votes 8: ↑6 and ↓2+4
Comments1

Классификация видов тестирования

Reading time5 min
Views214K
Учил студентов предмету «Тестирование и отладка программного обеспечения» в ИжГТУ. Структуру курса обучения построил на основе классификации видов тестирования.
Виды тестирования

О ней и будет сей рассказ.
Total votes 71: ↑64 and ↓7+57
Comments35

Information

Rating
Does not participate
Location
Армения
Registered
Activity

Specialization

Software Performance Engineer
Lead
PostgreSQL
Java
High-loaded systems
Kubernetes