我有一个项目的两个单独的DAL,我想比较它们,看看哪个是性能方面更好的DAL。我想到的性能指标是内存,查询执行时间等。 我遇到的问题是:
1)我使用了visual studio profiler并生成了两个报告,但在某些情况下,两个项目共有的值都不匹配。(我已经读过,这个仪器应该受到责备)
2)另外我在两个DAL中都有一个插入方法,我想比较它的性能,所以当我使用比较报告选项时,它没有显示值,因为比较是不同项目中的方法。
对我可以使用的方法的任何建议都会有所帮助。
另外,对我来说,分析判断应用程序性能的唯一方法是什么?
答案 0 :(得分:1)
分析工具通常会严重扭曲测量结果,您获得的结果不一致并不奇怪。
我建议只使用秒表来衡量一个让我们通过每个DAL进行100000次数据库访问操作的循环。您可以测量每个操作的平均时间和测试持续时间。
在循环运行时,让Perfmon显示CPU的计数器.NET CLR Memory\# Bytes in all heaps
,.NET CLR Memory\% Time in GC
。测量数据库的事务吞吐量也很有用,例如MSSQL$SQLEXPRESS\Transactions/sec
和MSSQL$SQLEXPRESS:SQL Statistics\Batch Requests/sec
(假设您使用SQL Express;其他DBMS通常也提供类似的计数器)。
我认为这应该给你足够的信息来决定。