May 3, 2005 at 2:11 am
I have a content management system where the databases are run on a Active/Passive cluster.
There are a lot of problems with database contention and the vendor has told us that the only way to get a performance boost is to switch to an Active/Active cluster.
This sounds a bit dodgy to me. My understanding was that clustering was for fail-over, not load-balancing.
I should be grateful for any feedback you can give me on this.
May 3, 2005 at 2:58 am
Why not have a bit of fun with the vendor and tell him, he should explain his thinking here?
When you look at BOL for load balancing -> Failover clustering FAQ, you'll find:
Does SQL Server 2000 clustering provide load balancing?
--
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org/blogs
My blog: http://www.insidesql.org/blogs/frankkalis/[/url]
May 3, 2005 at 5:39 am
Put it this way if he sold cars I definitely wouldn't buy one from him!!
Perhaps he intended to suggest you split the databases across servers/nodes which is a different matter to suggesting the clustering is at fault.
[font="Comic Sans MS"]The GrumpyOldDBA[/font]
www.grumpyolddba.co.uk
http://sqlblogcasts.com/blogs/grumpyolddba/
May 3, 2005 at 7:03 am
I thought the whole point of a cluster is that the nodes were identical and therefore if a node went down the other nodes would take over?
We originally recommended that the authoring database and the database serving up the web site be on completely separate servers so heavy visitor traffic would not impact on authoring, and heavy authoring would not affect site visitors.
May 4, 2005 at 7:49 pm
You could achieve both a primitive load balancing and fail over using Active/Active with two SQL instances on each node.
This does however revert to your original recommendation that the Authoring and Visitor databases are effectively on different servers.
In your Active/ACtive cluster are NodeA and NodeB.
On each node you have two SQL instances, which I will call AUTHOR and VISIT.
NodeA acts the primary instance for the AUTHOR instance.
NodeB acts as the main sql instance for the VISIT instance.
The alternate node is the backup (or passive node).
This would mean all traffic for the Website hits NodeB server, whilst traffic for the Authoring hits NodeA.
Should a node die, the other node would take over the workload, hence servicing both sql instances.
This is why it is called ACTIVE/ACTIVE, as both nodes are used as an Active node, yet also operate as a passive node.
For more reading refer to
==========================
SQL Server 2000 High Availability Series: Implementing Failover Clustering
http://www.microsoft.com/technet/prodtechnol/sql/2000/deploy/hasog01.mspx
SQL Server 2000 High Availability Series: Introduction
http://www.microsoft.com/technet/prodtechnol/sql/2000/deploy/harag01.mspx
May 5, 2005 at 10:56 am
David,
I totally agree with you. Active/Active is not a load balancing solution.
I think rcavill has explained Active/Active nicely. it gives you redundancy at the hardware level and os level.
The only thing close to a load balancing solution you can achieve with SQL Server is load balancing on the app server and using bi-directional replication at the database. I haven't worked in this environment and i'm not sure how the performance would be impacted by bi-directional replication.
May 5, 2005 at 11:25 am
What database contention have you experienced?
May 6, 2005 at 1:47 am
Massive locking problems.
Every record creation seems to result in an insert and multiple updates while locking everything up.
Its OK when its just publishing but when visitors are surfing the site as well its a nightmare
May 6, 2005 at 8:40 am
My comment was directed at your vendor < grin >
It's quite possible to use active - active clustering to get performance improvement ( but not load balancing ) as against active - passive. I think it's a matter of choice on clustering, especially now as w2003 can provide 8 procs ( 16 with HT ) and 32 gb ram without datacentre. If you had two databases on an active-passive then maybe you could gain improvements by putting each database on a single node - true in failover both would come back to the same node. It sounds like an application issue to me, but having experienced some of the wonders of 3rd party apps ( I have one where it will not work unless we put IIS, sql and the app all on one server - we tried to split them and it doesn't work - vendor says we must have them all together - beats me !! )
[font="Comic Sans MS"]The GrumpyOldDBA[/font]
www.grumpyolddba.co.uk
http://sqlblogcasts.com/blogs/grumpyolddba/
May 6, 2005 at 8:50 am
Ye Gods, don't you just hate vendors who buy a stable full of products, chuck them in a bucket, stir with a big stick and then say "look at our brand spanking new all things to all men product"!
What they really have is 3 or 4 different apps held together with gaffer tape and optimism.
The bleeding obvious would be to separate out the different application databases onto different servers however the client's vendor won't support that and the clients ISP won't support the alternative.
Viewing 10 posts - 1 through 9 (of 9 total)
You must be logged in to reply to this topic. Login to reply