【问题标题】:What exactly happens in BeginProcessRequest()? (No session state)BeginProcessRequest() 中究竟发生了什么? (无会话状态)
【发布时间】:2015-02-27 01:06:38
【问题描述】:

System.Web.Mvc.MvcHandler.BeginProcessRequest() 中究竟发生了什么?我有一个在 Azure 上运行的 MVC 项目,使用 NewRelic 它显示 BeginProcessRequest() 的时间为 500ms-1500ms。我不使用 SessionState(web.config 中的<sessionState mode="Off" />)。

我已经看过这个类似的问题:What happens in BeginProcessRequest()?

这里到底发生了什么?

谢谢!

【问题讨论】:

    标签: c# session azure model-view-controller newrelic


    【解决方案1】:

    除了与会话状态相关的线程敏捷性之外,还有几件事会导致 BeginRequest 时间过长。

    如果 New Relic 无法在事务中获取足够深入/详细的数据,它会将其汇总到 BeginRequest 方法时间。如果时间可以花在数据库或外部服务上,也会发生这种情况。这也通过无法绑定到触发它的事务的异步活动来演示。

    在应用程序首次启动时,您也可以看到较长的 BeginRequest 时间。对于您的 Azure 应用程序,您可以尝试将您的应用程序池的启动模式设置为“始终开启”,以减少您的应用程序可能必须停止/启动的时间,从而导致长时间的启动请求。

    Here 是一个包含一些附加信息的文档,here 是一个论坛帖子,没有会话状态的用户也有类似的问题。

    【讨论】:

      猜你喜欢
      • 2013-06-08
      • 2023-03-24
      • 2015-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-23
      • 2011-01-18
      • 1970-01-01
      相关资源
      最近更新 更多