edo*_*oft 4 asp.net iis performance logging iis-6
我正在开发一个ASP.NET(3.5)Web服务应用程序,托管在IIS6/Win2003上.Web服务在开始时和返回之前记录调用的时间戳.这允许我查询所花费的时间.我还添加了标准IIS日志(W3C扩展)的时间
然后对web服务进行压力测试(5个线程,每个线程200个调用)当比较从IIS获取的时间与数据中的timetaken时,我看到了巨大的差异!从IIS(也是调用客户端记录的时间)所花费的时间远远高于ASP.NET记录的时间.例如,根据ASP.NET花费的时间是1.7秒,而IIS则记录12000(毫秒)!
这可能是什么原因?
服务的虚拟代码:
[WebMethod(Description = " Main entry point to the service.")]
public string MethodA(string theXmlInput)
{
//log first
StoreInput(theXmlInput);
//Run the job, should take about 1 sec
string result = DoIt(theXmlInput);
//log output
StoreResult(result);
return result;
}
Run Code Online (Sandbox Code Playgroud)
您的页面请求进入IIS(启动IIS计时器).只有代码的.NET部分才能传递给.NET框架(启动.NET计时器)..net框架处理逻辑,并将结果返回给IIS(停止.net计时器).IIS然后完成处理请求并将HTTP响应发送回浏览器(停止IIS计时器).
IIS可能正在完成一大堆额外的工作 - 身份验证,处理MIME类型,处理.NET框架未解析的内容(HTML,图像,flash等).
我个人不希望看到这两个值一致.