📢 QA — Load & Performance
Избранные материалы о тестировании производительности. Чат и источник тем: @qa_load
إظهار المزيد- المشتركون
- التغطية البريدية
- ER - نسبة المشاركة
جاري تحميل البيانات...
جاري تحميل البيانات...
ЗадачаНеобходимо протестировать веб-портал интернет-магазина. Нагрузочное тестирование сценария заказа для 10 000 пользователей. Нужен опыт проведения такого тестирования. Будет нужно распределение нагрузки, разные точки нагрузки (сервера). Сценарий будет предоставлен, нужно будет записать скрипт, параметризировать, заполнить шаблон отчета который дадим. Тестовые данные мы подготовим, счетчики производительности с серверов тоже дадим в формате csv
Как делать качественные и надежные сервисы
Новый выпуск Samokat_tech Meetup: масштабирование разработки Когда людей и тулинга становится много, как сделать разработку безопасной? Если разработка растёт, вероятно, это не просто так, а вместе с бизнесом – как подготовиться к нагрузкам на твои продукты, пока не стало поздно? Как масштабировать экспертизу по нагрузочному тестированию с ростом числа команд? В новом выпуске Samokat_tech Meetup поговорим о технической стороне масштабирования разработки. Программа: + Путь к безопасной разработке: через велосипеды к комплексной системе анализа кода – Олег Коровин, Руководитель веб-разработки в Samokat_tech + Performance as a Service: нагрузка быстрее и дешевле через сервисный подход – Кирилл Юрков, SRE Lead в Samokat_tech + Топ-5 проблем масштабирования разработки прямо сейчас – круглый стол Надеемся, мероприятие получится полезным для разных людей: СTO, Head of Dev, лидов и всех, кому интересны темы безопасности разработки и нагрузочного тестирования, а также кому хочется узнать больше о внутренней кухне…
Для того, чтобы это не было очередным рассказом, как мы всё классно автоматизировали, сразу обозначу две цели этой статьи: Я хочу представить вам наше решение как методологию или концепцию, чтобы о...
${__machineName}
https://jmeter.apache.org/usermanual/functions.html#__machineName
2) TAG_BUILD_ID
И нужен идентификатор запуска из jenkins, чтобы не перемешивать все запуски между собой
https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables
BUILD_ID
The current build ID, identical to BUILD_NUMBER for builds created in Jenkins versions 1.597+
Например такой тег, тоже добавляется новой строкой в BackendListener:
TAG_BUILD_ID
Значение
${__P(BUILD_ID)}BUILD_ID прокидывается из переменных окружения в тест JMeter, как property. 3) Параметры Backend Listener По накоплению метрик перед записью есть пара настроек, они в
jmeter.properties
Суть такая - сохранять метрики каждую секунду теста не стоит, будет много метрик.
Оптимально сохранять метрики раз в минуту или раз в 30 сек.
Описал настройки для Backend Listener тут
https://polarnik.github.io/influxdb-bench/#44
https://polarnik.github.io/influxdb-bench/#45
Например тест делает 50 запросов в сек.
Мы хотим отправлять метрики раз в 60 сек.
Значит надо хранить примерно 3000 метрик в очереди
QUEUE_SIZE = 5000
(по умолчанию) - такое значение нас устраивает его хватает
backend_metrics_window_mode=timed backend_influxdb.send_interval=60 # было 5 backend_metrics_large_window=5000 # это устраивает нас > 3000А вот тест делает (с одного агента) уже 200 запросов в сек и мы настраиваем отправку раз в 60 сек. Значит надо хранить примерно 12000 метрик в очереди перед отправкой.
QUEUE_SIZE = 1200 (увеличиваем) backend_metrics_window_mode=timed backend_influxdb.send_interval=60 # было 5 backend_metrics_large_window=12000 # было 50004) Сумма по BUILD_ID = сумма сумм по AGENT Когда метрики записаны с нескольких одновременно работающих агентов, их надо визуализировать. Тут только есть тонкость, как суммарные метрики считать: - суммарная интенсивность работы со всех агентов - суммарное количество ошибок со всех агентов - их отношение (суммарный процент ошибок за весь тест) - суммарное количество потоков Сначала надо посчитать сумму с группировкой по AGENT, a потом по BUILD_ID. Считать сумму сразу по BUILD_ID не получится в InfluxDB. То есть все запросы на сумму будут с подзапросами. Это третий вариант суммирования, описанный в статье https://habr.com/ru/company/raiffeisenbank/blog/490764/
Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software
Android 8.0 introduces several new APIs that you can use in WebView objects, including the Version API, the Google Safe Browsing API, the Termination Handle API, and the Renderer Importance API.
تسمح خطتك الحالية بتحليلات لما لا يزيد عن 5 قنوات. للحصول على المزيد، يُرجى اختيار خطة مختلفة.