1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hagyao520-JMeter

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 14 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 06.03.2025 12:02 fa01660

Добро пожаловать в систему Apache JMeter (фреймворк автоматизации тестирования производительности)

Иллюстрация

  • JMeter — это система нагрузочного тестирования, созданная организацией Apache на Java. Используется для проведения нагрузочных тестов программного обеспечения. Начальное предназначение было направлено на тестирование веб-приложений, но позже расширилось до других областей тестирования
    • Может использоваться для нагрузочных и производительностных тестов, тестирования баз данных, тестирования Java-программ, HTTP и FTP тестирования, тестирования Web Services и т.д.
    • Может использоваться для тестирования производительности статических и динамических ресурсов (файлов, Servlet, Perl скриптов, Java объектов, запросов к базам данных и FTP серверов и т.д.)
    • Может использоваться для моделирования большой нагрузки на серверы, сети или объекты с целью проверки их прочности при различных уровнях нагрузки и анализа общего состояния производительности
    • Может использоваться для функционального/регрессионного тестирования приложений путём создания скриптов с утверждениями для проверки того, что ваша программа возвращает ожидаемый результат

Адреса исходного кода:

Gitee адрес: https://gitee.com/hagyao520/JMeter.git
GitHub адрес: https://github.com/hagyao520/JMeter.git### Описание системы:

  • Jmeter + Grafana + InfluxDB2.x + Prometheus + Node_Exporter + Dat + Excel + Jenkins
    • Использование JMeter как средства для тестирования производительности, отвечающего за проведение нагрузочных и тестов на выносливость
    • Использование Grafana как платформы визуализации Web, имеющей богатую коллекцию панелей показателей и графического редактора
    • Использование InfluxDB как открытой распределенной системы хранения временных рядов, метрик и времени, написанной на Go, которая не требует внешних зависимостей
    • Использование Prometheus как системы мониторинга и тревожных сообщений
    • Использование Node_Exporter как средства сбора данных производительности
    • Использование Dat как файла параметризации данных для использования в JMeter
    • Использование Excel как средства управления данными отчетов тестирования, удобного для статистической обработки данных и генерации отчетов
    • Использование Jenkins как платформы автоматизированного непрерывного интеграционного процесса, обеспечивающего автоматическую компиляцию, упаковку, запуск тестовых сценариев и отправку электронных писем с отчетами тестирования

Основные характеристики:

  1. Возможность проведения нагрузочных и производительностных тестов HTTP и FTP серверов, а также любых баз данных (через JDBC)
  2. Полная переносимость и 100% чистый Java, высокая масштабируемостьПолная поддержка компонентов Swing и легковесных компонентов (предварительно скомпилированный JAR использует пакет javax.swing.*)
  3. Полностью многопоточный фреймворк позволяет параллельную выборку через несколько потоков и одновременную выборку различных функций через отдельные группы потоков
  4. Тщательно спроектированный графический интерфейс пользователя обеспечивает быстрое управление и более точное время выполнения
  5. Кэширование и анализ/воспроизведение результатов тестов в офлайн режиме
  6. Связываемые сэмплеры позволяют бесконечную способность тестирования, предоставляя возможность динамического ввода данных в тест (включая JavaScript)
  7. Различные таблицы нагрузки и связываемые таймеры доступны для использования
  8. Плагины анализа и визуализации данных обеспечивают хорошую масштабируемость и возможность кастомизации
  9. Поддержка сэмплеров, скрипты которых могут быть преобразованы (поддерживается BeanShell начиная с версии 1.9.2)

Конфигурация окружения:

  1. JDK11
  2. JMeter
  3. Grafana
  4. InfluxDB2.x
  5. Prometheus
  6. Node_Exporter
  7. Jenkins### Пример тестирования:
  • В JMeter много компонентов: логические контроллеры, конфигурирующие компоненты, таймеры, sampler, мониторы и т.д. Давайте начнем с одного примера, чтобы постепенно понять использование этих компонентов. Для тестирования сайта нам потребуются три основных этапа: пользователи, отправка запросов и просмотр результатов.

1. Добавление группы потоков

  • Нажмите правой кнопкой мыши на "План тестирования", выберите "Добавить" —— "Поток пользователя" —— "Группа потоков". Как показано на следующем рисунке:

  • Основные параметры, влияющие на нас: количество потоков (количество пользователей, отправляющих запросы), период увеличения нагрузки (общее время между каждым запросом в секундах), количество циклов (количество повторений запросов). Например, если нам нужно, чтобы JMeter имитировал пять пользователей, каждый из которых отправляет два запроса, то установите параметры как показано ниже:

2. Добавление запроса

  • Чтобы получить доступ к веб-странице, например, к главной странице Baidu, используйте HTTP-запрос. Добавьте HTTP-запрос, нажав правой кнопкой мыши на группу потоков, затем выберите "Добавить" —— "Sampler" —— "HTTP-запрос". - В свойствах HTTP-запроса заполните поле "Имя веб-сервера или IP": www.baidu.com. Как показано на следующем рисунке:

3. Добавление монитора

  • Есть множество типов мониторов, вы можете выбрать тот, который вам нужен. Мы выбираем "Просмотр дерева результатов". Нажмите правой кнопкой мыши на группу потоков, затем выберите "Добавить" — "Монитор" — "Просмотр дерева результатов", как показано на следующем рисунке:

4. Запуск

  • После завершения выполнения можно просмотреть результаты.### 5. Тестовый отчёт:
  • Тестовый отчёт состоит из четырёх видов. Первые три — это агрегированный отчёт, графический результат и таблица результатов, встроенные в JMeter. Четвёртый тип представляет собой анализ данных в виде Excel-таблицы.

Агрегированный отчёт

Графический результат

Табличный результат

#### Отчет в Excel

  • Анализ данных в виде таблицы Excel выглядит более эстетично и четко.

6. Мониторинг платформы:

Мониторинг Linux сервера

Мониторинг производительности JMeter

7. Jenkins непрерывной интеграции:

  • Установка среды Jenkins, подробнее см.: https://blog.csdn.net/wuxuehong0306/article/details/50016547
  • Настройка автоматической непрерывной интеграции проекта Jenkins позволяет выполнять скрипты на удаленном сервере (конфигурация, сборка, пакетирование) и отправлять тестовые отчеты по электронной почте.

8. Благодарность:

Большое спасибо за то, что вы уделили время чтению этого материала. Желаю вам приятного использования нашего сервиса для записи, чтения и обмена информацией! Пожалуйста, оставьте свои отзывы и вопросы, также можете связаться со мной или присоединиться к нашему сообществу для обсуждения...Автор: @Лю Чжи Кинг QQ: 1306086303 E-mail: hagyao520@163.com

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/hagyao520-JMeter.git
git@api.gitlife.ru:oschina-mirror/hagyao520-JMeter.git
oschina-mirror
hagyao520-JMeter
hagyao520-JMeter
master