Перейти к содержимому

Фотография

Как заставить каждлго vuser'a передавать параметр с декрементом?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 goodwin

goodwin

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Павел Дыхнэ
  • Город:Москва

Отправлено 18 апреля 2008 - 10:29

Задача сымитировать торги на аукционе.

Запускаю N виртуальных юзеров.
В качестве ставки передаю значения из текстового файла с декрементом.
Каждый юзер извлекает последовательно 10 значений из файла и постит их.

При прогоне получаю, что юзеры извлекают одни и те же первые 10 значений из файла.

Как сделать так, чтобы каждый постил свое значение, при чем меньшее чем запостил другой?
Может тут не файл совсем нужен?
  • 0

#2 mangazey

mangazey

    Активный участник

  • Members
  • PipPip
  • 75 сообщений

Отправлено 18 апреля 2008 - 10:35

Как сделать так, чтобы каждый постил свое значение, при чем меньшее чем запостил другой?
Может тут не файл совсем нужен?


А как человек определяет - какое значение ему отправить в качестве ставки?

Подозреваю, что он считывает текущую ставку со страницы, полученной от сервера.
И на основе текущей ставки делаюет свою - +1 или -1 (в зависимости от типа торгов).

Поэтому решение будет такое:
  • Получаем текущую ставку с помощью correlation
  • На основе текущей ставки получаем новую (+/- 1)
  • Отправляем новую ставку на сервер
В моем проедложенном решении и файл не нужен :)
  • 0

#3 goodwin

goodwin

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Павел Дыхнэ
  • Город:Москва

Отправлено 18 апреля 2008 - 10:55

А как человек определяет - какое значение ему отправить в качестве ставки?

Подозреваю, что он считывает текущую ставку со страницы, полученной от сервера.
И на основе текущей ставки делаюет свою - +1 или -1 (в зависимости от типа торгов).

Поэтому решение будет такое:

  • Получаем текущую ставку с помощью correlation
  • На основе текущей ставки получаем новую (+/- 1)
  • Отправляем новую ставку на сервер
В моем проедложенном решении и файл не нужен :)


Можно уточнить по первому пункту, где и как использовать correlation ?
  • 0

#4 mangazey

mangazey

    Активный участник

  • Members
  • PipPip
  • 75 сообщений

Отправлено 18 апреля 2008 - 11:15

Можно уточнить по первому пункту, где и как использовать correlation ?


Что такое correlation в LoadRunner? Это процесс получения каких-либо данных (обычно динамически меняющихся) из страницы, возвращаемой сервером.

Например, когда я захожу на сайт погоды - я не знаю заранее, какая температура будет отображена на странице (т.к. это значение динамически меняется). Но я знаю, что значение температуры находится в таком-то месте на странице (например, в N-й строчке таблицы с остальными данными, либо же между текстом "Текущая t = " и " C").
Вот здесь-то и нужна корреляция с помощью функции web_reg_save_param.
С ее помощью можно получить текущее значение температуры (например, "12") и далее делать с ним что угодно (+/- 1, +/- 2, +/- 3, и т.д. - вариантов много :) )

Были у меня попытки объяснить механизм корреляции простыми словами, на примере и в картинках. Посмотри - может пригодится:
  • 0

#5 goodwin

goodwin

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Павел Дыхнэ
  • Город:Москва

Отправлено 22 апреля 2008 - 09:13

Большое спасибо.
Действительно корреляция помогла.

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

Какое здесь возможно решение кроме как заставить пользователей засыпать на несколько секунд?
  • 0

#6 George

George

    Активный участник

  • Members
  • PipPip
  • 105 сообщений
  • Город:Минск

Отправлено 21 мая 2008 - 07:45

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

Какое здесь возможно решение кроме как заставить пользователей засыпать на несколько секунд?


Попробуйте почитать о rendezvous point.
  • 0

#7 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 22 мая 2008 - 01:44

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

Попробуйте почитать о rendezvous point.

Смысл? Они и так конкурируют друг с другом, а точки рандеву только обострят эту конкуренцию, выстроив их на стартовой черте и создавая условия для экстремальной нагрузки. Логичнее использовать think time с рандомизированной задержкой.
  • 0
Дмитрий Шевченко

HP Software


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных