August 1, 2011 at 2:10 pm
Assume I have multiple databases running on a single SQL server and need to increase CPU resources to get better performance. There are two approaches I could take. Move a single SQL server instance to a machine with more cores or run multiple SQL server instances letting each serve a different database.
The former approach could save a lot of money. For example, I currently have SQL Standard running on a machine with two processors with a total of four cores. I can buy a two processor machine with each cpu running 6 core or even 8 cores each for a lot less than I can buy 3 more 2-processor licenses for SQL server.
In general, is there a reason to expect better performance with x instances of SQL server running on a total of y cores than a single instance running on y cores ?
Are there other tradeoffs with the single instance other than the fact it can run on only one physical server.
August 1, 2011 at 2:39 pm
I am not sure I followed your different options - but, if you are looking at creating a new instance of SQL Server on a new system then that system will also have to be licensed.
If you are just talking about upgrading the box (or replacing it) with a newer system with the same number of physical processors but more cores - then that is a different story. You really need to look at the cost of the processors though - as buying 8-core or 12-core processors is not cheap.
I recently quoted a new 2-node cluster with 4 8-core processors per machine (8 total). The cost for just the processors alone was almost $100,000. So, about $12,500 per processor.
What it sounds like you are asking is whether or not running multiple instances on a server is better than running a single instance. The answer for that question is: it depends...
It depends on the requirements of each instance. With multiple instances you have to manage the memory of each instance - and, unless you specifically set the processor affinity, all instances will use all processors.
Multiple instances are usually better when you have to make sure users of instance A don't have elevated rights to another database. For example, if the users of databaseA need to have sysadmin rights - you would not want databaseB on that server unless those same users need sysadmin rights to that other database.
Jeffrey Williams
“We are all faced with a series of great opportunities brilliantly disguised as impossible situations.”
― Charles R. Swindoll
How to post questions to get better answers faster
Managing Transaction Logs
August 1, 2011 at 4:33 pm
8 and 12 core cpus are still very expensive but you can buy a 6 core cpu like the X5675 for around $1500. A server with two of these and 48GB of memory will run you about $9K from Dell if you are going to connect it to a SAN, about the price of a single CPU Standard SQL Server license.
Viewing 3 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply