Smart-doc расширяет возможности практики стресс-тестирования производительности JMeter
Smart-doc расширяет возможности практики стресс-тестирования производительности JMeter

1. Предисловие

существуют жизненный цикл разработки программного обеспечения,APIдокумент автоматическийгенерировать И тестирование производительности интерфейсада Повышение эффективности разработкии Обеспечить качество продукцииизключевые шаги。вместе сsmart-docинструментсуществовать3.0.1Добавлено после версиигенерироватьJMeterСтресс-тест производительности Скриптспособность,Разработчикам будет проще выполнить эти две задачи.。В этой статье рассказывается, как использоватьsmart-docиJMeterПроведите эффективное стресс-тестирование производительности。

2. Smart-doc генерирует JMeter

Создать скрипт JMeter

использовать Smart-docгенерировать JMeter Стресс-тест производительности Скрипт,Может значительно сократить время написания теста производительности. Скрипт,Повышение эффективности тестирования。Smart-docавтоматическийгенерироватьиз JMeterСкрипт,может быть напрямуюсуществоватьJMeter Он может работать в системе без сложной настройки и отладки, что упрощает и ускоряет тестирование производительности.

первый,убедитесь, что выизпроектсередина Уже включеноsmart-docплагин。Затем,существоватьпроектизpom.xmlдокумент Средняя конфигурацияsmart-docплагиниз Связанные параметры,Например:

Язык кода:xml
копировать
<plugin>
    <groupId>com.ly.smart-doc</groupId>
    <artifactId>smart-doc-maven-plugin</artifactId>
    <version>3.0.3</version>
    <configuration> 
        <configFile>./src/main/resources/smart-doc.json</configFile>
        <projectName>${project.description}</projectName>
    </configuration>
    <executions>
        <execution>
            <!--если не нужносуществовать При выполнении компиляциизапускатьsmart-doc,тогда будетphaseКомментировать-->
            <phase>compile</phase>
             <goals>
                    <!--smart-docпредоставилhtml、openapi、markdownждатьgoal,Доступно по запросу Конфигурация-->
                <goal>jmeter</goal>
            </goals>
        </execution>
    </executions>
</plugin>

бегатьmvn -Dfile.encoding=UTF-8 smart-doc:jmeterЗаказ,smart-docИсходный код проекта будет отсканирован,Извлечение информации аннотации,иавтоматический Создать соответствующийизJMeterСтресс-тест производительности Скрипт。

Не знаком сиспользовать Можно проконсультироватьсяsmart-docОфициальная документацияhttps://smart-doc-group.github.io/#/zh-cn/integrated/jmeter

Импортировать скрипт JMeter

Открыть JMeter,Нажмите "File" -> "Open",Выберите первый шаггенерироватьиз JMeterСкриптдокумент,Нажмите "Start" кнопка,JMeter Стресс-тестирование производительности начнется согласно сценарию.

Настроить мониторинг Прометея

Prometheusда Открытый исходный кодизмониторипредупреждатьинструмент,Для обработки данных временных рядов. Объединив эти два инструмента,Мы можем достичь JMeter Мониторинг процесса тестирования в режиме реального времени, тем самым улучшая наблюдаемость тестирования производительности.

Вот этапы реализации:

1. Установите плагин JMeter Prometheus.

Во-первых, вам нужно JMeter изlib/ext Установить в каталог Prometheusплагин。ты можешь начать с JMeter Plugins Managerили официальный сайт https://jmeter-plugins.org/ скачатьплагин。Также доступен изGithubскачать,https://github.com/johrstrom/jmeter-prometheus-plugin/releases 。На этот раз я выбираю изGithubскачатьдо настоящего временииз0.7.1

Уведомление: JMeterПрослушивание по умолчаниюизIPадресда127.0.0.1,Значение по умолчанию приведет кPrometheusНевозможно подключиться к JMeter Prometheusизпорт прослушивания,Поэтому нужно обратить вниманиесуществоватьjmeter.propertiesРига Конфигурацияprometheus.ip=0.0.0.0

2. Настройте плагин Prometheus в JMeter.

Открыть JMeter,добавить вPrometheus Listenerприезжатьтыизплан испытанийсередина。Это можно сделать, щелкнув правой кнопкой мыши Нажмите"план испытаний" -> "добавить в" -> "слушатель"-> Prometheus Listener завершить.

Конфигурация слушателя может относиться к официальной Конфигурации.,Ссылка следующая(smart-docподдерживать Конфигурациядобавить вгенерироватьPrometheus Listener):

3. Настройте Прометей

существоватьPrometheus из Конфигурациядокумент(prometheus.yml)середина,добавить в новом scrape_configИсточник JMeter Prometheusплагинсередина Сканировать данные。Например:

Язык кода:yaml
копировать
    scrape_configs:
      - job_name: 'jmeter'
        static_configs:
          - targets: ['<Your JMeter machine IP>:9270']

в,<Your JMeter machine IP> бежит JMeter Проверенная машина IPадрес,9270 да JMeter Prometheus Порт прослушивания плагина по умолчанию.

4. Запустите JMeter

В этой статье для удобства проверки,Во время стресс-тестирования группа потоков устанавливается на“бесконечный цикл” , можно отрегулировать в соответствии с фактическими потребностями.

После успешного запуска JMeter Prometheus Будет по умолчаниюсуществовать Создайте порт локально для9270из Служить。

Посетите URL-адрес: http://localhost:9270/metrics. Если вы видите следующее содержимое, это означает успех.

5. Запустите Прометей

запускатьPrometheus,Prometheus начнется с JMeter Prometheus плагинсередина Сканировать данные。Как показано ниже Конфигурацияизапускать После успеха можносуществоватьPrometheusсерединасмотретьприезжатьнастраиватьизtarget

6. Размещение Графана

приезжатьGrafanaОфициальный сайт,Находить Официальный сайтпоставлятьизprometheus-jmeterПанель мониторинга。Выберите здесьIDдля14927из Импорт шаблонаприезжатьGrafanaсередина。

НажмитеLoadЗатем выберитеPromethuesисточник данных。

Уведомление: тестсередина Обнаружить14927Сохранение исходного шаблонасуществоватьнекоторые ошибки,Ремонт производился во время написания статьи.,Учащиеся, которым он необходим, могут загрузить восстановленный шаблон и импортировать его по ссылке ниже:

https://github.com/smart-doc-group/smart-doc-demo/blob/master/jmeter/grafana-template/jmeter-prometheus-14972.json

После успешного импорта шаблона мы можемсуществоватьGrafanaсерединасмотретьприезжатьвесь Стресс-тест производительностиизмонитор数据了。

Для того, чтобы каждый мог быстро испытать весь процесс стресс-тестирования,smart-docСообщество также организует и обеспечивает усыновлениеdocker-composeОдин кликзапускатьопытизтрафарет。Если вы хотите пройтиk8sРазверните, чтобы испытать,Вы также можете использовать некоторые большие отечественные модели.AIинструментнапрямуюdocker-composeизтрафарет转изменять成k8sРазвертывание шаблона。

Программа опыта также включает инструкции по использованию.

Связанный кодадрес:https://github.com/smart-doc-group/smart-doc-demo

3. Преимущества Smart-doc в практике стресс-тестирования производительности

использовать Smart-doc и JMeter Комбинация стресс-тестирования производительности имеет следующие преимущества:

автоматизация:

Smart-docМожетавтоматическийиз исходного кодасерединаизвлекать API Информация, генерируемая автоматически JMeterСтресс-тест производительности Скрипт,Не нужно писать вручную,Значительно улучшена эффективность.

точный: Smart-docавтоматическийгенерироватьизJMeter Стресс-тест производительности Скрипт, и в исходном коде APIОпределения полностью совпадают,Позволяет избежать возможных ошибок при написании Скрипта вручную.

гибкий:Smart-doc Поддерживает различные варианты конфигурации и позволяет настраивать генерируемые результаты в соответствии с требованиями испытаний. JMeterСкрипт。

В будущем smart-doc продолжит улучшать и оптимизировать поддержку JMeter. Пожалуйста, продолжайте обращать внимание на проект с открытым исходным кодом smart-doc:

https://github.com/TongchengOpenSource/smart-doc

4. Резюме

путем объединенияsmart-docиJMeter,我们不仅МожетавтоматическийизменятьгенерироватьAPIдокумент,Вы также можете быстро создавать тесты производительности и выполнять стресс-тесты. Этот интегрированный рабочий процесс значительно повышает эффективность разработки и тестирования.,В то же время это помогает команде легче поддерживать и оптимизировать производительность программной системы. Я надеюсь, что эта статья предоставит вам практическое руководство.,Чтобы более эффективно использовать эти два мощных инструмента в повседневной работе.

Мы также приглашаем всех продолжать уделять внимание наиподдерживатьsmart-docСообщество открытого исходного кода,Мы также будем изучать поддержку большего количества языков в будущем.,Расширьте возможности большего числа разработчиков и повысьте эффективность.

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.