Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

SQL server has a very high per core license cost, but for a lot of workloads benefits more from lots of RAM. his is now even more of the case with in-memory tables.

Even if a server with 4 cores cost more than a server with 16 cores, it may still be worth it for the saved license costs!

It seems to be that number of cores is now the new meaningless marketing number.

Given how cheap RAM is, I don’t consider 384GB to be a lot of Ram!

Update, thanks for everyone’s input, I have also just found Selecting a Processor for SQL Server 2014 on sqlperformance.com that covers the options well.

share|improve this question
    
It's not difficult. They exist. –  ewwhite Feb 4 at 13:50
    
From your edit: Do you need that much RAM for your application? The more RAM you have, the more overhead there will be. Try shoving a high-transaction database on a single core server and let me know how that goes. –  Nathan C Feb 4 at 14:23
    
@NathanC, no one said single core, just that 16 cores are too much. –  Ian Ringrose Feb 4 at 14:30
    
"Given how cheap RAM is, I don’t consider 384GB to be a lot of Ram!" I do... –  ceejayoz Feb 4 at 15:30
    
@ceejayoz, Maybe because when I first work as a programmer, each software engineer had a workstation where the RAM cost as much as a new car, a lot more than the rest of the hardware put together. –  Ian Ringrose Feb 4 at 17:24

4 Answers 4

up vote 3 down vote accepted

This is quite possible. An example I have is an application I support where core count is not as important as single-threaded performance. So I have these systems optimized for the application:

These are current-generation Sandy/Ivy-Bridge CPUs, so I specify Intel E5-2643 quad-core and E5-2643 v2 hex-core processors running at 3.30GHz and 3.50GHz, respectively, to handle the workload. The servers accommodate the same amount of RAM as higher-core-count CPUs.

You also have access to the Intel E5-2637 (and v2) processor, which is available in 2 and 4 cores.

share|improve this answer
    
Can these systems go above 384GB? –  Ian Ringrose Feb 4 at 14:14
    
Yes, a DL380p Gen8, for instance, can support 768GB RAM. But at high RAM counts, it's more cost-effective to go with 4-socket servers. –  ewwhite Feb 4 at 14:25
    
Does "cost-effective" inlude the cost of the SQL server licance? –  Ian Ringrose Feb 4 at 14:29
    
@IanRingrose I don't know. It's your environment. I'm just explaining that there are low-core CPUs available in modern servers. –  ewwhite Feb 4 at 15:26
    
Thanks, E5-2637 v2 looks like a great CPU, 768GB ram AND 15MB cache. –  Ian Ringrose Feb 4 at 18:37

Well, first of all you can always disable cores in the server's BIOS if you really want, or buy a server with a specifically lower core-count (HP etc. do make them) but one of the main reasons why it is 'so hard to get servers with lots of RAM but few cores' is because there's a very small market for them.

share|improve this answer
    
Does disabling core in the BIOS fulfil Microsoft licence limits? –  Ian Ringrose Feb 4 at 13:29
    
I think part of the problem is that core are close to free for a CPU vendor to provide, but costs a lot for customers and CPU vendors complete on having the fastest CPU, not the most cost effect overall system including software licence costs. –  Ian Ringrose Feb 4 at 13:31
    
I don't now about that from a legal perspective but it should achieve what you want functionally. –  Chopper3 Feb 4 at 13:59

I find several 'mistakes' in your question.

  1. Where can't you find servers with good memory amounts? Of course manufacturers propose low ram solutions, to keep initial prices low. They all propose upgrades, at a price. Manufacturers certified memory is expensive though. Even most economic to mainstream servers nowadays will accept over 32GB of ram. Dual socket servers work well with just one cpu too.
  2. It's unlikely that with all that memory busy with data you'll want just a few cores to serve a limited number of clients. If you have so little clients, it's unlikely that you need the extra speed of keeping so much inside your memory.
  3. Microsoft doesn't only sell per-core license. It also got Server+CALs licenses. Please see this link. You choice depends on your conditions.
  4. The future is virtual machines, sometimes even cloud based. A per-core license adapts very well to it, as in virtual machines you allocate cores, not cpus. Nowadays servers tend to have plenty of processing power; put a virtualization hypervisor on your machine and allocate just the resources (disk,cores,ram) you need. Upgrade in minutes if needed. Or use the same machine to host other stuff.
share|improve this answer
    
Xeon E servers wasn't capable of anything above 32GB last I checked. –  3molo Feb 4 at 13:59
2  
There is a serious issue with item (2) - basically you ignore all but the most common scenarios. Ram is still - dual core xeon - 100gb/second throughput and when you start doing large dataset analysi there are scenarios you have a handfull of people digging through that amount of data. –  TomTom Feb 4 at 14:05
    
CALs licenses don’t work well when you have a few heavy users and then 1000s of very light users. (Not all data localises to a few buffer pages, or indexes well.) –  Ian Ringrose Feb 4 at 14:13
    
3molo: Xeon E5 (for example) are able to use 384GB of ram last time I checked. 32GB is for the E3 serie (workstations and small servers oriented). TomTom: honestly the question didn't specify any use for the database, so a "common use" is safe to assume.Especially before the author updated the question with informations like 384GB ebing little for him. Ian: Yep of course, that's the meaning of "your choice depends on your conditions". Microsoft also recommends a per core licensing in the case of many (or unknown) clients. –  stoned Feb 4 at 20:37

Why don't you run the database server in the virtual machine with the appropriate number of cores allocated? As a bonus it will be more wieldy to administer.

share|improve this answer
    
Is this allowed by Microsoft per core licensing these days? It used to be you had to pay for all core in the machine, not just the cores you used. –  Ian Ringrose Feb 4 at 15:17
3  
@IanRingrose Licensing is explicitly off-topic on Server Fault, we recommend you contact MS or a MS Partner. I can say that while MS's terms in the past talked about physical CPUs their intention has always been the CPUs visible to the OS, and that has been clarified in the license terms for the last several years. –  Chris S Feb 4 at 15:32

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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