Fiddler: где добавить оператор IF для m_SimulateModem? - PullRequest
0 голосов
/ 04 марта 2019

Я хочу добавить следующий код в fiddler:

if (m_SimulateModem) {
    // Delay sends by 300ms per KB uploaded.
    oSession["request-trickle-delay"] = "300"; 
    // Delay receives by 150ms per KB downloaded.
    oSession["response-trickle-delay"] = "150"; 
}

Я уже установил для m_simulatemodem значение true (var m_SimulateModem: boolean = true;), но я не знаю, к какому событию я должен добавитьфрагмент выше.

Я пытался добавить его внутрь static function OnBeforeRequest(oSession: Session), но он, похоже, ничего не делает.

В принципе, я хочу смоделировать очень низкую скорость, чтобы любой используемый браузер возвращался Время ожидания истекло или ERR_CONNECTION_TIMED_OUT.

1 Ответ

0 голосов
/ 04 марта 2019

В руководстве по тестированию производительности Fiddler четко указано, что request-trickle-delay необходимо использовать в OnBeforerequest:

Имитация загрузки модема (добавление к функции OnBeforeRequest)

`oSession["request-trickle-delay"] = "300";`

И response-trickle-delay необходимо использовать в OnBeforeResponse:

Чтобы проверить производительность приложения, добавьте правила с использованием FiddlerScript в функцию OnBeforeResponse (кромегде отмечено).Например:

oSession["response-trickle-delay"] = "150";

Однако я предполагаю, что с обоими настройками вы не заставите ваш браузер работать в ERR_CONNECTION_TIMED_OUT.

Установка 300 означает один КБ на 300 мс, поэтому мы получаем примерно 3 КБ в секунду или ~ 2400 КБит.Это скорость соединения старого доброго модема последнего десятилетия 20-го века.Это может занять некоторое время, но пока поток данных непрерывно доставляется, все запросы будут работать.

Истекло время ожидания соединения, когда клиент пытается связаться с сервером, но сервер не отвечает на запрос TCP (например, потому что порт не слушает или сервер заблокирован слишком большим трафиком).

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

// make requests to www.example.org end up in a connection time-out
if (oSession.HostnameIs("www.example.org")) {
  oSession.hostname="www.example.org:12345";
}
...