【问题标题】:Comparison of two separate Data Access Layers (DALs) of a project项目的两个独立数据访问层 (DAL) 的比较
【发布时间】:2015-02-10 06:17:05
【问题描述】:

我有一个项目的两个单独的 DAL,我想比较它们,看看哪个 DAL 在性能方面更好。我想到的性能指标是内存、查询的执行时间等。 我遇到的问题是:

1) 我使用了 Visual Studio Profiler 并生成了两个报告,但在某些情况下,两个项目共有的值不匹配。(我已经读过这应该归咎于这个工具)

2) 我在两个 DAL 中都有一个插入方法,我想比较其性能,所以当我使用比较报告选项时,它不显示值,因为比较的是不同项目中的方法。

对我可以使用的方法的任何建议都会有所帮助。

另外,就我而言,分析是判断应用程序性能的唯一方法吗?

【问题讨论】:

    标签: c# visual-studio-2013 profiling profiler


    【解决方案1】:

    分析工具通常会严重扭曲测量结果,因此您得到的结果不一致也就不足为奇了。

    我建议只使用 Stopwatch 来测量一个循环,假设通过每个 DAL 进行 100000 次数据库访问操作。您可以测量每次操作的平均时间,以及总的测试持续时间。

    当循环运行时,让 Perfmon 显示 CPU 的计数器,.NET CLR Memory\# Bytes in all heaps.NET CLR Memory\% Time in GC。从数据库中测量事务吞吐量也很有用,例如 MSSQL$SQLEXPRESS\Transactions/secMSSQL$SQLEXPRESS:SQL Statistics\Batch Requests/sec(假设您使用 SQL Express;其他 DBMS 通常也提供类似的计数器)。

    我认为这应该给你足够的信息来决定。

    【讨论】:

    • 秒表真的很有帮助。如果我想查看执行查询所花费的时间,您能否提出类似的解决方案??
    猜你喜欢
    • 2023-03-30
    • 2010-10-11
    • 2012-08-18
    • 2013-12-05
    • 2018-12-02
    • 2020-08-24
    • 1970-01-01
    • 2015-09-12
    • 2014-03-26
    相关资源
    最近更新 更多