Распределение нагрузки в LoadRunner

Я хочу контролировать TPH / TPS с помощью HP LoadRunner. В JMeter мы можем сделать это с помощью таймера с постоянной пропускной способностью, или, если у кого-то есть альтернативные способы, поделитесь, пожалуйста

Например:

  1. Транзакция A-Login (100 TPH)
  2. Транзакция B-Search Product (1000 т / ч)
  3. Транзакция C-Добавить товар в корзину (200 т / ч)
  4. Транзакция D-Payment (200 TPH)
  5. Электронный выход из транзакции (100 т / ч)

1 ответ

Если все эти транзакции выполняются в разных сценариях, нет проблем, поскольку для каждого сценария можно установить разные параметры времени и времени выполнения.

Я предполагаю, что ваша проблема в том, что все эти транзакции выполняются в одном сценарии. В этом случае единственным решением является создание параметра в вашем скрипте, давайте назовем этот параметр iteratorи установите его тип в качестве номера итерации. Таким образом, этот параметр будет иметь значение 1 в первой итерации, значение 2 во второй и т. Д. И т. Д.

Теперь вы можете использовать этот параметр перед вызовом каждой транзакции.

Допустим, ваш максимальный TPH составляет 1000. Затем установите скорость выполнения скрипта на 1000 т / ч. Но если вы хотите, чтобы определенная транзакция выполнялась меньше, чем, скажем, только 100 т / ч, вам нужно запускать ее только на 10-й итерации (1000 / 100 = 10).

Для этого в вашем скрипте вы можете использовать iterator % 10:

// Cast the iterator parameter to an int
var i;
i = atoi(lr_eval_string("{iterator}"));

// This  will run 100 TPH
if ((i % 10) == 0) 
{
     lr_start_transaction("Login");

     // Do login
     ...

     lr_end_transaction("Login", LR_AUTO);
}

И еще один пример, чтобы запустить 200 т / ч, вы можете использовать iterator % 5:

// This  will run 200 TPH
if ((i % 5) == 0) 
{
     lr_start_transaction("Add Product");

     // Do Add Product
     ...

     lr_end_transaction("Add Product", LR_AUTO);
}
Другие вопросы по тегам