WCAT: 404 не найден в файле журнала
Чтобы выполнить свои нагрузочные тесты, я следовал любому руководству WCAT: 1. Установите IIS 6.0 2. Создайте 3 файла конфигурации (Конфигурация, Сценарий, Распределение), форматы которых строго следовали данному учебнику. 3. Вызовите эти конфигурации с помощью команды wcctl (такой как: wcctl -c Configuration.cfg -d Distribution.cfg -s Script.cfg -a localhost 4. Вызовите wcclient.exe (например, wcclient localhost). Однако результаты, которые я получал всегда есть 200 Запрос ОК = 0, но 404 Не найдено занято все. (Примечание: мой URL в Script.cfg может быть успешно вызван через браузер, например: http://localhost:2631/WebServices/XXX.svc/POX/MyMethod?param1=I1¶m2=true). Кто-нибудь может сказать мне, как выполнить правильный прогон WCAT (200 OK, не 404 не найдено)? Я искал, но не мог найти ничего, кроме этой нечеткой вещи: WCAT Проблема Спасибо
1 ответ
Я рыщу в сорняках с 2012 года здесь, но позвольте мне попробовать.
Недавно я столкнулся с подобной проблемой, когда я получал 404 для всех запросов страниц, которые были сделаны WCAT.
Решение в моем случае было простым: все URL-адреса запроса в моем скрипте WCAT были относительными, и мне нужно было изменить их на абсолютные URL-адреса.
Итак, вместо этого:
request
{
verb = GET;
url = "/mypage.aspx";
}
Я изменил их на это:
request
{
verb = GET;
url = "http://www.mydomain.com/mypage.aspx";
}
PS: может кто-нибудь объяснить мне, почему документация WCAT всегда показывает относительные URL в своих примерах и не ссылается на тот факт, что вы можете использовать абсолютные URL? Кроме того, инструкции настаивают на том, что не стоит запускать WCAT на той же машине, на которой размещен ваш веб-сайт (потому что вы выбросите свои результаты), но все же во всех их примерах используются относительные URL-адреса, которые могут работать только если вы работали с WCAT на той же машине, на которой размещен ваш сайт!
редактировать
Кстати, в качестве альтернативы настройке хоста в URL, как я показал выше, вы также можете сделать это:
request
{
verb = GET;
url = "/mypage.aspx";
setheader
{
name="Host";
value="http://www.mydomain.com";
}
}