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

Фотография

Load Testing:получение стабильных результатов


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

#1 Bog_dan

Bog_dan

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

  • Members
  • Pip
  • 39 сообщений
  • ФИО:Богданов Александр

Отправлено 20 декабря 2006 - 17:39

Здравствуйте! Дайте, пожалуйста, совет.

У нас разрабатывается клиент-серверное приложение. Оно сейчас находится на стадии оптимизации. Моя задача проводить нагрузочное тестирование для каждого нового билда, в который включается новый вариант оптимизации, чтобы предоставлять результаты о том, как повлияло на производительность внедрение данной оптимизации.
Провожу нагрузочное тестирование, при постоянных условиях(как мне кажется: скрипт, количество пользователей, сервер не меняются). Сравниваю время отклика.

Проблема: не могу получить стабильные данные, а именно разброс получаемых результатов для разных итераций может достигать 50%. Соответственно, использовать для сравнения такие результаты не возможно.

В чем может быть дело?

Буду признателен за любую помощь. Спасибо
  • 0

#2 Dmitry_NJ

Dmitry_NJ

    Консультант

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

Отправлено 20 декабря 2006 - 19:52

A 50% это сколько количественно? 1 и 1.5 секунды это тоже 50%, но такие результаты вряд ли кого-нибудь обеспокоят.

При проведении тестов у вас монопольное право распоряжения сеткой, серверами приложений, серверами БД? Виртуальные пользователи запускаются автоматически по одному и тому же расписанию или ручками?
  • 0
Дмитрий Шевченко

HP Software

#3 Troubleshooter

Troubleshooter

    Опытный участник

  • Members
  • PipPipPipPip
  • 398 сообщений
  • Город:Киев

Отправлено 21 декабря 2006 - 10:25

У Вас разброс результатов с каждой следующей итерацией увеличивается или он хаотичен?
  • 0

#4 Bog_dan

Bog_dan

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

  • Members
  • Pip
  • 39 сообщений
  • ФИО:Богданов Александр

Отправлено 21 декабря 2006 - 12:48

У Вас разброс результатов с каждой следующей итерацией увеличивается или он хаотичен?


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

#5 Bog_dan

Bog_dan

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

  • Members
  • Pip
  • 39 сообщений
  • ФИО:Богданов Александр

Отправлено 21 декабря 2006 - 13:18

При проведении тестов у вас монопольное право распоряжения сеткой, серверами приложений, серверами БД?


Сервера, на котором установлены приложение и БД, находиться в общей корпоративной сети, но в данный момент им никто кроме меня не пользуется (проверял по лог файлам).

Виртуальные пользователи запускаются автоматически по одному и тому же расписанию или ручками


Виртуальные ползователи запускаются автоматически. Я только указываю требуемое количество.

A 50% это сколько количественно?


Да действительно, 50% это около 1 сек. И в связи с этим у меня вопрос: правильно ли я делаю, усредняя суммарное по всем запросам время отклика?Т.е. что получается, скрипт содержит 150 запросов, из них 120 - это картинки, которые грузятся десятки - сотни мсек, а есть запросы к функционалу, их длительность 10-30 сек. Таким образом, усредняя по всем 150 запросам, я и получаю значение 1,5 - 3 сек.
Может быть стоит учитывать лишь значимые запросы или вообще сравнивать время отклика только тех запросов, которые обращаются к модулю приложения, оптимизация которого была проведена?
  • 0

#6 Dmitry_NJ

Dmitry_NJ

    Консультант

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

Отправлено 21 декабря 2006 - 18:17

Да действительно, 50% это около 1 сек. И в связи с этим у меня вопрос: правильно ли я делаю, усредняя суммарное по всем запросам время отклика?Т.е. что получается, скрипт содержит 150 запросов, из них 120 - это картинки, которые грузятся десятки - сотни мсек, а есть запросы к функционалу, их длительность 10-30 сек. Таким образом, усредняя по всем 150 запросам, я и получаю значение 1,5 - 3 сек.
Может быть стоит учитывать лишь значимые запросы или вообще сравнивать время отклика только тех запросов, которые обращаются к модулю приложения, оптимизация которого была проведена?

Что измерять и что с чем сравнивать зависит от поставленных перед вами задач. Но в любом случае я не вижу абсолютно никакого смысла париться из-за 1-2 секунд. Такие разбросы вполне могут объясняться тем, что траффик идет через корпоративную сеть, да и сам тул тоже ведь не идеальный и имеет какую-то погрешность измерений.
  • 0
Дмитрий Шевченко

HP Software

#7 Bog_dan

Bog_dan

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

  • Members
  • Pip
  • 39 сообщений
  • ФИО:Богданов Александр

Отправлено 22 декабря 2006 - 12:18

Спасибо за помощь, Дмитрий. Подтвердили мои догадки и натолкнули на некоторые мысли. А париться не буду(а ведь, действительно, начал) :)
  • 0

#8 DrVal

DrVal

    Постоянный участник

  • Members
  • PipPipPip
  • 230 сообщений
  • ФИО:Drozdov V. V.

Отправлено 25 декабря 2006 - 16:06

1. мерять нужно в изолированной сети.

2. выключить на машинах все лишние сервисы и таски по расписанию (скажем, антивирусы, проверка апдейтов и т.п.)

3. если разброс все равно заметный, то можно брать среднее по нескольким измерениям.
  • 0

#9 DrVal

DrVal

    Постоянный участник

  • Members
  • PipPipPip
  • 230 сообщений
  • ФИО:Drozdov V. V.

Отправлено 25 декабря 2006 - 16:15

Есть такое понятие - масштабируемость.
1 секунда на 100 клиентах может вылится 10 на 1000, а может 100 или более секунд.
Т.ч. возможно париться стоит.

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

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


Да действительно, 50% это около 1 сек. И в связи с этим у меня вопрос: правильно ли я делаю, усредняя суммарное по всем запросам время отклика?Т.е. что получается, скрипт содержит 150 запросов, из них 120 - это картинки, которые грузятся десятки - сотни мсек, а есть запросы к функционалу, их длительность 10-30 сек. Таким образом, усредняя по всем 150 запросам, я и получаю значение 1,5 - 3 сек.
Может быть стоит учитывать лишь значимые запросы или вообще сравнивать время отклика только тех запросов, которые обращаются к модулю приложения, оптимизация которого была проведена?

Что измерять и что с чем сравнивать зависит от поставленных перед вами задач. Но в любом случае я не вижу абсолютно никакого смысла париться из-за 1-2 секунд. Такие разбросы вполне могут объясняться тем, что траффик идет через корпоративную сеть, да и сам тул тоже ведь не идеальный и имеет какую-то погрешность измерений.

Просмотр сообщения


  • 0

#10 Dmitry_NJ

Dmitry_NJ

    Консультант

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

Отправлено 25 декабря 2006 - 17:52

Есть такое понятие - масштабируемость.
1 секунда на 100 клиентах может вылится 10 на 1000, а может 100 или более секунд.
Т.ч. возможно париться стоит.

Это все ваши домыслы. Нигде в первоначальном посте нет ни единого намека на то, что запускаемое количество пользователей меньше, чем требуемое.
  • 0
Дмитрий Шевченко

HP Software


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

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