【问题标题】:How to track performance of mvc4 web api rest call?如何跟踪 mvc4 web api 休息调用的性能?
【发布时间】:2013-02-13 07:10:55
【问题描述】:

我有一个被众多客户端调用的 asp.net mvc4 web api (rest) 接口。基本上我根据某些参数提供内容:

http://myserv.x.com/api/123/getstuff?whatstuff=thisstuff

我的问题是,它每天会达到大约 50K,而且我时不时地注意到超时和缓慢的响应时间。

问:我如何包含处理请求所花费的时间(在我的代码内部)以及在 IIS 队列中获得服务所花费的时间的指标。我不确定延迟是在我的代码中还是在 IIS 中。

我想以某种方式将它们添加回响应中:

<StuffPayload>
  <Stuff id=1 url=http://myserv.x.com/img/1/>
  <Response time=100ms IIStime=10ms MyServerCodeTime=90ms/>
</StuffPayload>

【问题讨论】:

  • 您不能只查看您的 IIS 日志吗?使用 logparser 搜索长时间运行的请求。
  • @DarrelMiller:谢谢达雷尔。以前没有使用过日志解析器,但是我可以使用特定的语法来查找针对我的特定请求 GET/getstuff 的长时间运行的查询吗?
  • 这个问题stackoverflow.com/questions/4663262/… 中的答案应该让您了解如何编写查询。
  • @DarrelMiller:太棒了!

标签: c# asp.net asp.net-mvc asp.net-mvc-4 asp.net-web-api


【解决方案1】:

首先检查您的方法在做什么:如果有任何 sql/文件操作,请确保您正确创建/处置所有资源。 您可以编写 custom action filters 用于日志记录,这样您就可以为所有跟踪提供可重用的代码和平。然后,您可以在 OnActionExecuted 方法中向响应中添加其他内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-05
    • 1970-01-01
    • 2013-01-29
    • 1970-01-01
    • 2019-11-04
    • 2014-05-28
    • 1970-01-01
    相关资源
    最近更新 更多