Существуют огромные отличия от результатов, полученных для инструмента стресс-тестирования (WebLoad) и таймеров в коде.
Позади
Где пропущенное время?
Сетевая задержка? (Не тяжелая нагрузка: максимальный размер нагрузки 80 в течение 17 минут, без другого трафика)
IIS?
Как я могу измерить промежутки?
Результаты для одной страницы («Посадка»):
Результат WebLoad Avg = 3,1 с - Таймер WebLoad "Посадка"
Код позади = 0,05 сек - Начать запрос -> Завершить запрос.
Простой запрос браузера = 0,5 с
Код сзади:
protected void Application_BeginRequest(object sender, EventArgs e)
{
Stopwatch RequestTimer = new Stopwatch();
RequestTimer.Start();
HttpContext.Current.Items["RequestTimer"] = RequestTimer;
}
protected void Application_EndRequest(object sender, EventArgs e)
{
if (HttpContext.Current.Items["RequestTimer"] != null)
{
Stopwatch RequestTimer = (Stopwatch)HttpContext.Current.Items["RequestTimer"];
RequestTimer.Stop();
Logger.SectionEnd("RequestTimer", RequestTimer, "", true); //Per Page Name
}
}
Часть кода веб-загрузки:
wlGlobals.GetFrames = false
wlHttp.Header["Host"] = host
wlHttp.Header["Proxy-Connection"] = "off"
wlHttp.Header["User-Agent"] = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7"
wlHttp.Header["Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,\x2A/\x2A;q=0.8"
//wlHttp.Header["Accept-Encoding"] = "gzip,deflate,sdch"
wlHttp.Header["Accept-Language"] = "en-GB,en-US;q=0.8,en;q=0.6"
wlHttp.Header["Accept-Charset"] = "ISO-8859-1,utf-8;q=0.7,*;q=0.3"
SetTimer ("Landing")
wlHttp.Get(url)
SendTimer ("Landing")
Работа в .Net 4 IIS7.
Спасибо