Unfortunately there are a TON of dials to tweak to get the absolute maximum performance.
Try the perf counters (Open perfmon, look under 'Database') and look to see how much of the database cache is in use.
Another possibility is that you're running in to log buffer stalls. Again, there is a perf counter for that. The solution would be to increase the log buffer size.
But then there are other times where we get hung up trying to update the checkpoint file.
And then there are others when we're simply saturating the IO subsystem. ;) But exhausting the CacheSizeMax is a more likely culprit.
In fact ESE goes crazy with perf counters. You can see a LOT more perf counter by setting 'Squeaky Lobster'. Follow the directions at http://support.microsoft.com/kb/556030, but use 'ESENT\Performance' instead of 'ESE\Performance'. They are hidden
by default to reduce clutter, not because they're confidential.