首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mvc-mini-profiler时EF分析性能较慢

使用mvc-mini-profiler时EF分析性能较慢
EN

Stack Overflow用户
提问于 2011-06-22 20:29:13
回答 1查看 1.2K关注 0票数 9

当我使用下面的函数创建我的上下文时,分析器显示比标准EF (版本4)上下文创建方法增加了大约300ms。有没有其他更好的方法可以做到这一点?它违背了性能分析的目的。

代码语言:javascript
复制
    public static Models.MyEntities GetContext()
    {
        var profiler = MiniProfiler.Current;
        var sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnString"].ConnectionString);
        var profiledConnection = MvcMiniProfiler.Data.ProfiledDbConnection.Get(sqlConn, profiler);
        return ObjectContextUtils.CreateObjectContext<Models.MyEntities>(profiledConnection);
    }

第一个是使用上面的函数来创建上下文。第二种是使用标准的EF上下文创建方法。以下是使用mvc-mini-profiler时的性能差异:

分析器EF上下文: 89.1

代码语言:javascript
复制
Some DB Hit:  317.9  

正常EF上下文: 0.1

代码语言:javascript
复制
Some DB Hit:  7.4  

更新2:我在Visual Studio中做了一些分析,看起来主要耗时的操作是MvcMiniProfiler.Helpers.StackTraceSnippet.Get(),在它里面有一个对System.Diagnostics.StackTrace..ctor(bool)的调用。这需要很长时间才能完成,这似乎是上述延迟的原因。

EN

回答 1

Stack Overflow用户

发布于 2011-06-30 10:27:42

我推送了一个changeset to the profiler,它允许禁用堆栈跟踪,因为大量查询可能会影响分析。

只需在应用程序启动时设置以下设置:

代码语言:javascript
复制
MiniProfiler.Settings.ExcludeStackTraceSnippetFromSqlTimings = true;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6439827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档