gpt4 book ai didi

asp.net - Application_BeginRequest 在压力环境下不会被触发

转载 作者:行者123 更新时间:2023-12-02 10:27:06 24 4
gpt4 key购买 nike

我们在对我们的应用程序进行压力测试时观察到奇怪的问题。我们使用 Application_BeginRequest 和 Application_EndRequest 来记录 Web 请求的开始和结束以及线程 ID。

但是,从我们的日志中,我们看到 Application_Begin_REquest 没有被触发:

我们使用以下代码在 global.asax.cs 中进行日志记录:

protected void Application_BeginRequest(object sender, EventArgs e)
{
string url = "";
if (HttpContext.Current != null) // this should alway be true
url = HttpContext.Current.Request.Url.ToString();

Dbg.WriteLine(String.Format("Request: {0} {1}", HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"], url));

// integration calls measurement
HttpContext.Current.Items.Add("wcfElapsed", new TimeSpan());

}

protected void Application_EndRequest(Object sender, EventArgs e)
{
string url = "";
if (HttpContext.Current != null) // this should alway be true
url = HttpContext.Current.Request.Url.ToString();

Dbg.WriteLine(String.Format("End request: {0} {1}", HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"], url));
}

这是我们的日志文件。省略 URL 00013 列是线程 id。

  14.12.10 21:41:25.042 00013 00000            Request: 172.23.26.41 
14.12.10 21:41:25.068 00013 00000 End request: 172.23.26.41
14.12.10 21:41:25.212 00013 00000 Request: 172.23.26.41
14.12.10 21:41:25.223 00013 00000 End request: 172.23.26.41
14.12.10 21:41:30.974 00013 00000 End request: 172.23.26.88

可以看到最后两行有两个“End request”,但是最后一行日志没有(Begin)Request。

我们的 Dbg.WriteLine 使用 System.Diagnostics 跟踪监听器将数据输出到文件。

环境:Windows Server 2008 R2、ASP.NET 3.5

这仅在执行压力测试时发生。 CPU 利用率约为 60%,最多有 10 个并发请求正在执行。

有什么想法吗?可能出了什么问题?

更新:我发现其他一些人也有类似的问题(尽管配置不同: http://forums.iis.net/t/1154954.aspx )马泰伊

UPDATE#2:今晚与事实相关的是,用于打印日志文件中线程标识符的 Thread.GetHashCode() 可能会发生变化。请参阅ASP.NET - Thread.GetHashCode() changes

最佳答案

我认为这可能是由于调试文件,无法处理所有这些事件。写入文件有其局限性。

我建议使用默认调试跟踪,您可以在 DebugView 中看到它.

关于asp.net - Application_BeginRequest 在压力环境下不会被触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4444915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com