Статьи

Apache JMeter: нагрузочный тест, что вы хотите

Это второй пост о нагрузочном тестировании с Apache JMeter, прочитайте первый пост здесь: пошаговое руководство о нагрузочном тестировании реляционных баз данных.
У JMeter много сэмплеров . Если вам нужен сэмплер, который не предоставляется JMeter, вы можете написать свой собственный сэмплер. (пользовательские сэмплеры называются «Java Request» в терминологии JMeter)

В этом посте шаг за шагом будет показано, как написать Java-запрос JMeter.

Шаг 1: Подготовка среды разработки

Добавьте эти два файла jar в путь к классам java.

  1. $ JMETER_HOME / Библиотека / внутр / ApacheJMeter_core.jar
  2. $ JMETER_HOME / Библиотека / внутр / ApacheJMeter_java.jar

(Если вы используете Eclipse, добавьте эти файлы в качестве внешних jar-файлов в путь сборки java.)

Шаг 2: Расширение AbstractJavaSamplerClient

После настройки пути к классам создайте пользовательский сэмплер, расширив AbstractJavaSamplerClient и переопределив следующие методы.

1
2
3
4
public Arguments getDefaultParameters() {...}
public void setupTest(JavaSamplerContext context) {...}
public void teardownTest(JavaSamplerContext context) {...}
public SampleResult runTest(JavaSamplerContext context) {...}

getDefaultParameters
Реализуйте getDefaultParameters, если вам нужны начальные значения для тестовых параметров. JMeter отобразит параметры в своем графическом интерфейсе настройки Java-запросов. (См. Содержимое красного прямоугольника на рисунке ниже.) Вот пример реализации:

1
2
3
4
5
6
7
public Arguments getDefaultParameters() {
    Arguments defaultParameters = new Arguments();
    defaultParameters.addArgument("memcached_servers", "localhost:11211");
    defaultParameters.addArgument("username", "testuser");
    defaultParameters.addArgument("password", "testpasswd");
    return defaultParameters;
}

setupTest
Здесь вы читаете тестовые параметры и инициализируете свой тестовый клиент. JMeter вызывает этот метод только один раз для каждого тестового потока.

teardownTest
Навести порядок.

RunTest
Напишите свою тестовую логику в этом методе. JMeter будет вызывать метод runTest для каждого выполнения тестовых потоков. Вот типичная реализация runTest:

01
02
03
04
05
06
07
08
09
10
11
12
@Override
public SampleResult runTest(JavaSamplerContext context) {
    SampleResult result = new SampleResult();
    boolean success = true;
    result.sampleStart();
    //
    // Write your test code here.
    //
    result.sampleEnd();
    result.setSuccessful(success);
    return result;
}

Прошедшее время между результатами result.sampleStart () и result.sampleEnd () используется для расчета среднего времени отклика тестируемого приложения.

Шаг 3. Разверните свой пользовательский сэмплер

Когда вы закончите, создайте файл jar (содержащий ваш пользовательский сэмплер) в каталоге $ JMETER_HOME / lib / ext /. JMeter отобразит ваш запрос Java на странице конфигурации запроса Java .

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

Ссылка: нагрузочное тестирование, что вы хотите с Apache JMeter от нашего партнера по JCG Илькина Уласа, все ваши базы принадлежат нам в блоге.