开发者

Miniprofiler: site is inexplicably fast

We installed miniprofiler. It has been an edifying experience, but now we see that our database queries run 3x as fast with the profiler enabled as with it disabled.

The only code we changed in our app was to add the profiledDbConnection:

public static DbConnection GetOpenConnection(string conne开发者_开发技巧ctionString)
{
    var cnn = new System.Data.SqlClient.SqlConnection(connectionString);  
    // wrap the connection with a profiling connection that tracks timings 
    return MvcMiniProfiler.Data.ProfiledDbConnection.Get(cnn, MiniProfiler.Current);
}

Linq2Sql is suddenly...fast.

I'm not complaining, but why is this happening?


What do you mean by 'database queries run 3x faster'?

  1. If you run SQL Profiler - do you see that the db execution time is 3 times lower?
  2. The time to execute a high level method in your code that eventually queries database is 3 time lower?

If it is case 1 than the difference will be in the SQL generated - compare both statements. If it is case 2 than run a C# profiler (Ants, dotTrace) and compare execution time of all the methods.

Difference of this magnitude will be related to a totally different path of execution - maybe you're not doing a heavy loop or you're getting data from cache.

First of all you can verify if you are hitting database at all and the number of queries is exactly the same.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜