如何测试哪个方法需要花费多少时间在.Net Web应用程序中执行?
在登录页面中,我有很多方法,我想知道哪个方法需要很长时间才能执行。
找出每种方法执行时间的最佳工具是什么?
答案 0 :(得分:1)
您可以使用dotTrace之类的探查器工具。这些工具通常可以让您很好地了解执行时间。
由于登录可能会执行数据库查询,因此您可能需要检查查询自行查看的时间。使用OR映射器无论如何通常都是瓶颈。使用NHibernate时NHibernate Profiler基本上是必须的。
如果没有工具,我建议您实施一个sudo port -f deactivate jpeg
sudo port install libjpeg-turbo
,它会在内部使用您的日志记录类和LoggingStopwatch
。
简化示例:
StopWatch
(简化以显示实际的想法。我的意思是!例如,你并不是如何实际实现public class LoggingStopwatch : IDisposable
{
public LoggingStopwatch(ILogger logger, LogLevel level, string message)
{
this.logger = logger;
this.logLevel = logLevel;
this.message = message;
this.stopwatch = new Stopwatch();
this.Start();
}
public void Start()
{
// compare this.logLevel with the one set in this.logger
// and return if no output will be generated
// start stopwatch, log entry
}
public void Stop()
{
// stop stopwatch, log entry
}
public void Dispose()
{
this.Stop();
}
}
模式。)
由于它实现了Disposable
,您可以像这样使用它:
IDisposable
答案 1 :(得分:0)
开发人员必须运行性能分析才能找到性能 应用
Visual Studio性能分析工具允许开发人员在其代码中测量,评估和定位与性能相关的问题。这些工具完全集成到IDE中,可提供无缝且易于用户体验。
对应用程序进行概要分析非常简单。首先创建一个新的性能会话。在Visual Studio Team System Development Edition中,您可以使用“性能会话向导”来创建新的性能会话。性能会话结束后,在分析期间收集的数据将保存在.vsp文件中。您可以在IDE中查看.vsp文件。有几种报告视图可用于帮助从收集的数据中可视化和检测性能问题。
要创建并运行效果会话,请查找参考here
答案 2 :(得分:0)
您可以使用跟踪来检查有关ASP.NET页面的单个请求的诊断信息
虽然有两种类型的追踪
申请级别
要在应用程序级别启用跟踪,只需添加以下元素System.web
元素。
<trace pageOutput="true"
enabled="true"
localOnly="false" //Making this attribute true ,will only show the tracing information in the local(server) !Recommended
traceMode="SortByTime"
/>
让我们说,如果您的应用程序的URL是 http://localhost/SampleApplication,要检查应用程序的跟踪信息,请将URL更改为http://localhost/SampleApplication/trace.axd
页面级
如果您只是在寻找页面级别跟踪,请将trace属性添加到页面指令
<%@ Page Language="C#"
Trace="true"
traceMode="SortByTime"%>
希望这有帮助!