CPU Cost in SQL Availability Group for Synchronous and Asynchronous Databases

availability-groupssql serversql-server-2016

We are looking at setting up a new SQL Always On Availability Group environment for SQL Server.
We are wondering if there's a difference in CPU usage of a synchronous or an asynchronous node?

Also one of my colleagues is saying there's a limitation in the number of Listeners (and so also AG's since it's adviced to have a listener per AG) but i'm not able to find anything that says that you shouldn't create more than 10 listeners in an environment. The only thing I'm able to find is that there's an AD-setting that you have to change to be able to have more then 10 listeners.

Thanks in advance!

Best Answer

We are wondering if there's a difference in CPU usage of a synchronous or an asynchronous node?

Yes, there will be a difference but only because these modes talk to each other in vastly different frequencies and ways. The difference will entirely depend on workload and there is no way to "guesstimate" what that will be.

Also one of my colleagues is saying there's a limitation in the number of Listeners …

There technically isn't and you're correct, generally at least 1 listener per availability group so that you can always connect to the primary. Maybe you have some other type of network appliance or device that can do probing and update an internal object to always point to the primary - that's possible and a listener may not be needed. Sometimes there are company requirements where all applications have to use a specific endpoint/dns for each application. So, generally, this will depend on your requirements but there isn't anything really stopping you from creating listeners except for IP addresses in an available range (if using IPv4).