Нужно ли нам и как моделировать реальный шаблон пользователя для нагрузки производительности? - PullRequest
0 голосов
/ 28 апреля 2011

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

А вот основной рабочий процесс для туда и обратно:

  1. Получите реальную нагрузку пользователя в журнале доступа и найдите соответствующий подробный запрос от производства
  2. Сохраните эту информацию о реальной загрузке и отобразите ее в какое-нибудь быстрое хранилище (моя первая мысль - mongodb или что-то в этом роде *
  3. Запуск многопоточности для загрузки записанных нагрузок в локальную среду исполнения.
  4. Посмотрим, что будет потом .....

Итак, мой первый вопрос: что вы думаете об «имитации модели реального пользователя», действительно ли они ценны или просто тратят время ?

Я знаю, что у Jmeter есть AccessLogSampler для имитации запроса http, но мой - это soapRequest для веб-службы.Похоже, мне нужно сделать много орудий в java, но в любом другом шоколаде?

Ваши идеи действительно очень ценятся!

Vance

Ответы [ 2 ]

0 голосов
/ 28 апреля 2011

Тесты веб-сервисов делятся на 2 основных типа: на основе попаданий и на основе сценариев. Хит-базис очень прост и концентрируется на распределении / частоте запросов. Основанный на сценариях концентрация на последовательности и логике / скорости транзакций / одновременных виртуальных пользователей.

Нагрузочное тестирование намного проще для нагрузочного тестирования, и этот способ предпочтителен для систем с высокой нагрузкой. Сценарии неизбежны в зависимости от последовательности в веб-приложениях.

Все зависит от вашего сервиса (или части сервиса).

Моя альтернатива AccessLogSampler - HTTP Raw Request

0 голосов
/ 28 апреля 2011

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

Правдивая история: однажды я разработал новую функцию в приложении, ориентированном на базу данных.Я написал тесты производительности, основанные на том, как я думал, что эта функция будет использоваться, и соответственно оптимизировал.Затем он был выпущен и использован способами, которые я не представлял - и большинство моих оптимизаций оказались бесполезными.Было бы лучше просто реализовать неоптимизированную функцию и ждать реальных данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...