SQL Server – Costs of Enabling Extended Events

deadlockextended-eventssql serversql-server-2012

I have been dealing with deadlocks, specifically getting their information, as you can see on this post here.

On this same post Shanky recommended "You must now rely on extended events trace to capture deadlock information"

My questions would be:

1) is there any increase of CPU by using extended events?

2) how much memory, disk space and I/O does it use?

any link to related documentation will be a bonus.

Best Answer

Of course there will be an increase on CPU, as any other process on the server. But Extended Events are recommended precisely due to the low resource needs of running them. Using Extended Events to capture information takes much fewer resources than using the long old known profiler tool for example. Use it wisely of course, don't setup and run thousands of sessions to capture tons of data, then you can have a problem. We have used Extended Events on our own servers for auditing different processes and from our experience, we almost didn't saw a measurable increase on CPU activity. Yes, it takes some disc space to record all data it gathers, but again, think ahead and plan were to save it in order to affect as less as possible production environment.

As for 2nd question: it depends, as usual. Each system, platform and configuration are different, none is exactly to the other. So, if not possible to tell you how much RAM, CPU, disk space or IO will gonna take. But certainly will not be so much. Again, use common sense, don't start hundreds of sessions capturing gazillion of data, because then obviously you will have a penalty on performance.

For more detailed info check here, here here and here.