gpt4 book ai didi

sql-server - 如何持续衡量 EF 绩效?

转载 作者:行者123 更新时间:2023-12-01 04:53:22 27 4
gpt4 key购买 nike

我有一个巨大的应用程序,它使用 Entity Framework 4。它是服务器上的 WCF(托管在 Windows 服务中)和客户端上的 WPF。
它的某些部分很慢,我想知道是不是因为数据库访问很慢。
我想不断测量该代码的性能,例如在某处记录每个查询的执行时间(最好包括 EF 自己的东西,如物化)以供稍后分析。我怎么做?
EFProf 等工具 (因为即使他们可以测量数据库服务器执行特定查询所花费的时间,我该如何运行它们一周?)和一瞥 (不支持 Windows 服务和 WPF)在我的情况下不会做 .
我考虑过创建自己的 SqlConnection 子类,但我的版本只接受 ObjectContext ctor 中的 EntityConnection,并且 EntityConnection 被标记为密封。而这个选项只允许测量原始 sql 查询的执行时间,而不是 EF 的代码。
我现在看到的唯一选项是:1) 更新到 EF 6 并编写 SqlConnection 子类(这不会衡量 EF 自己的代码)2)更新到更高版本并使用类似 EF hooks library 的东西
当然,这不是一本书(只是看了 Mastering Enity Framework)——因为我们大多数人只需要使用一个库,不知道它有多快(讽刺)。

最佳答案

在 linq 表达式缓存和 SQL Server 选择缓存的内容方面进行了各种优化,唯一的方法是衡量您的性能速度和内存消耗

对于你的情况,我认为微软已经通过“Measuring Entity Framework Performance using ETW”提供了一个简单的方法

此外,您可以通过 SQL 探查器获取其中的一些信息,这只是更多的工作。

关于sql-server - 如何持续衡量 EF 绩效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39164052/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com