0

In the book Pro SQL Server Always On Availability Groups They write about scalability. Here is what they say

Windows Server 2012 (and above), failover clustering supports up to 64 cluster nodes. This helps to easily scale out the solution by adding nodes to it. For example, if you have a two-node failover cluster hosting applications that is getting close to hitting a node-specific capacity limit such as a CPU or memory, it is very easy to add a third node and redistribute the load.

How is that possible? If you have one instance on two nodes and you need to add memory. How will another node help? You can't load balance to 3 nodes. I completely understand running two instances ( one on each node) but then adding a 3rd will provide what?

  • 1
    It won't, and you shouldn't read it that way. I believe the author is saying you could add a third node, and move one of the applications you're hosting to it. They say hosting applications in the quoted text. I don't see any mention of licensing there, which is interesting to say the least. – Erik Darling Feb 11 '18 at 14:57
  • If you add a node to your Windows cluster, you could certainly make that node the primary for one or more of your availability groups, distributing the load that way. They're not talking about distributing the load of an entire instance or a single database, using a failover cluster - that's not what an FCI does. – Aaron Bertrand Feb 11 '18 at 18:00
  • You could possibly load balance reads to a 3rd server couldn't you? So you have your primary (doing all of the writes) and then 2 secondaries that you could read from. You'd have to have some sort of load balance device that sends queries to either of the secondaries, or hard code the connection to a particular instance. – Greg Feb 12 '18 at 1:09
0

It doesn't mean that it provides every type of scalability, such as for adding memory and CPUs to a given instance. It means that you can scale up the overall environment by installing more instances that are spread across various nodes and have different possible owning nodes.

  • 1
    The authors give a specific example of adding a third node to “redistribute the load” when hitting a node-specific capacity limit such as CPU or memory. If we’re dealing with one instance, how will this help by adding a 3rd node? Again I completely understand scaling out instances to run on their own node. I’ve run 3 nodes with 2 instances running like you mentioned in your answer and how I tried to show in my question. – Shellz Feb 11 '18 at 14:02
  • Suppose that you have five [5] SQL server Instances running on a two nodes in multi-instances FCI set-up and through time you hit to a CPU and memory limit. The solution in this case will to scale-up the number of nodes so that you can redistribute these instances . – Asteway Feb 12 '18 at 0:19
  • I’m used to an n+1 for instance to nodes configuration ie 2 instances have 3 nodes. 3 instances have 4 nodes. My question was using an example of one instance that needed scaling. Erik confirmed the answer you can’t. The book meant applications plural and that I knew you could. – Shellz Feb 12 '18 at 1:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.