#iis #iis-7 #load-testing #stress-testing #wcat
#iis #iis-7 #нагрузочное тестирование #стресс-тестирование #wcat
Вопрос:
Я использую IIS 7, и у меня есть веб-сайт, развернутый на порту 43xxx. Я пытаюсь выполнить нагрузочный тест с использованием wcat. Я пытаюсь получить доступ к URL / directaccess /, который, в свою очередь, вернет код состояния 302, сделайте перенаправление на другой URL-адрес, который также вернет код состояния 302, а затем последний URL вернет 200OK.
Я написал сценарий и файлы настроек для wcat. Указано по умолчанию (а также пробовалось для каждого запроса), чтобы установить порт на 43xxx, но когда я запускаю wcat, он возвращает одно 302 ok и еще одну ошибку 400 (они возвращаются в равных количествах, поэтому я предполагаю, что первый запрос в порядке, а последующий (первое перенаправление) плохой).
Я также заглянул в папку HTTPErr, чтобы проверить журналы, и там много ошибок 400, указывающих на запрос GET для того, что должно быть 2-м URL, но выполнено на порту 80, а не 43xxx, как указано мной в запросе (или настройки по умолчанию — которые, если я хорошо понял из документов, наследуются в перенаправлениях).
Я просто хотел бы выяснить, является ли это «нормальным» поведением для wcat. Не выполняет перенаправления на тот же порт, что и первоначальный запрос.
Игнорируйте тот факт, что я тестирую на локальном компьютере. Я использовал это только для настройки тестов перед их переносом на другой компьютер.
Это используемый сценарий.
scenario
{
warmup = 2;
duration = 5;
cooldown = 2;
default
{
setheader
{
name = "Connection";
value = "keep-alive";
}
version = HTTP11;
statuscode = 200;
close = ka;
port = 43111;
redirect = true;
}
transaction
{
id = "root transaction";
weight = 100;
request
{
url = "/login/DirectAccess.rails?code=xxxxxxxxx";
statuscode = 302;
redirect = true;
port = 43111;
}
sleep
{
delay = 1000;
}
}
}
Ответ №1:
Я думаю, это зависит от того, что сервер отправляет обратно в заголовке Location перенаправления 302. Если он не содержит доменного имени (например, Местоположение: / redirect/to/page), то WCAT не следует изменять домен или номер порта и продолжать использовать тот же номер порта. Однако, если заголовок Location содержит полное доменное имя (например, Location: http://www.thissite.com/redirect/to/page ) без номера порта WCAT переключится на использование порта 80.
Комментарии:
1. Что ж, JMeter отлично работает в той же настройке .. и выполняет все перенаправления.
2. Я провел некоторый тест с WCAT 6.1 (не последняя версия) и должен подтвердить ваши результаты. Похоже, что WCAT неправильно выполняет перенаправления и изменяет порт на 80.