Met*_*uru 1 asp.net-mvc optimization benchmarking
控制器对模型进行几次调用,然后将一些数据返回给视图.遗憾的是,这个视图(这不是我的错),包含大量的内联查询和对模型的更多调用,是的,我知道.无论如何,我的任务是优化这个非常慢的页面,我试图弄清楚我怎么能分辨出哪些东西占用的时间最多.我只是将一个计时器放在页面所做的每个"事物"的开始和结束处,然后将它们输出到带有行号或其他内容的日志中.但不确定最准确的方法是什么.
//in controller
StartTimer();
var something = model.something.getsomething(someID);
StopTimerAndLog(3); //line number
<!-- in view -->
<%StartTimer();
var something = model.somethingelse.getanotherthing(someotherID);
StopTimerAndLog(2);%>
Run Code Online (Sandbox Code Playgroud)
等等等等...
那么问题仍然是关于使用什么时间机制,我敢肯定必须有一个问题.但我不知道我的情况是否有任何独特之处......任何想法?
如果你真的想这样测量,我会使用StopWatch类:
var watch = new StopWatch();
watch.Start();
var something = model.something.getSomething(someID);
watch.Stop();
var time = watch.Elapsed;
Run Code Online (Sandbox Code Playgroud)
如果你想要一些非常详细的东西而不需要编写任何额外的代码......我会建议使用Profiler.它将为您提供详细信息,详细说明需要花费多长时间以及原因.我个人最喜欢的是RedGate的ANTS Performance Profiler.
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |