Sql-server – SQL Server Cluster Performance

clusterperformancesql server

Can anybody help me answer what I hope is a really simple question?

Assume I have an application running against a SQL Server database, and I am running performance tests. Should I expect improved performance if I setup a database server cluster? Or does that "just" buy me better up time and availability characteristics with fail over etc.?

I tend to think the latter, so if I feel that database performance is weak, I should work on my application design rather than buying extra hardware…

Regards,
Emil

Best Answer

It very much depends how your cluster is configured and accessed. It doesn't help that teh word "cluster" can cover several different arrangements.

Some arrangements will have very little impact, some will slow things down noticeably (multiple active servers for instance, where a transaction make need to wait for all the servers to be uptodate before it is considered committed which can add considerable transactional latency for operations that include inserts/updates, also marshalling locking information between the servers can affect read-only operations similarly), and some arrangements may speed things up (multiple read-only replicas to farm the read-only load out over multiple machines, locking requirements permitting, for instance).

So: yes, no or maybe! If you describe your arrangement in some detail [machines, OS, DBMS, cluster config, what code accesses the cluster (a single web server, many web servers, many external clients, ...), load patterns, ...] you might get a much better answer.

(so unfortunately it isn't as simple a question as you'd hoped, sorry!)

Related Topic