【发布时间】:2017-12-03 17:06:04
【问题描述】:
如何衡量服务器 HttpRequest 的性能?
我认为这是一项重要的任务,许多人解决了这个挑战。
我会解释的。 我有许多并行调用的用户服务器请求,我想测量相同请求的一些性能指标。
例如:
10:00:00AM request 1 duration 200 ms: /some_request/data
...
11:00:00AM request 2 duration 700 ms: /some_request/data
...
11:30:00AM request 3 duration 300 ms: /some_request/data
...
如您所见,一般问题是请求的持续时间总是跳跃,我们不能说请求性能的真正变化。相同请求的持续时间之间的差异(注意:具有相同的 json 数据 1-1)可能无法预测。
在示例中,我尝试像这样测量请求持续时间:
public class PerformanceFilter : IActionFilter
{
private Stopwatch timer = new Stopwatch();
public void OnActionExecuting(ActionExecutingContext filterContext)
{
timer.Reset();
timer.Start();
}
public void OnActionExecuted(ActionExecutedContext filterContext)
{
timer.Stop();
var duration = timer.ElapsedMilliseconds;
}
}
可能是错误的方式?或者为了检测请求性能变化,我们可以使用其他请求特征?
【问题讨论】:
标签: asp.net asp.net-mvc performance httprequest performance-testing