I've been looking at various PerfMon metrics on one of our client's SQL Server instances trying to get a good gauge of where our database (or server) could use improvements.
One measure that has me puzzled is the ratio of two PerfMon metrics: Compilations/sec and Batch Requests/sec.
According to this post, "It's a general rule of thumb that Compilations/sec should be at 10% or less than total Batch Requests/sec".
Our application has a Windows Service that invokes scheduled calculations against the database every hour. Like clockwork, in my PerfMon CSV data, I can see the spikes in Compilations/sec and Batch Requests/sec. What I didn't expect to see was the number of Compilations/sec to exceed Batch Requests/sec.
I'm looking at 15 second samples from PerfMon centered around the time where our calculations kick off:
What does this typically indicate? Does this even make sense? Why would we be compiling more statements than executing? Am I missing something?