1

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.

5
  • It's not difficult. They exist.
    – ewwhite
    Feb 4, 2014 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, 2014 at 14:23
  • @NathanC, no one said single core, just that 16 cores are too much. Feb 4, 2014 at 14:30
  • "Given how cheap RAM is, I don’t consider 384GB to be a lot of Ram!" I do...
    – ceejayoz
    Feb 4, 2014 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. Feb 4, 2014 at 17:24

4 Answers 4

3

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.

5
  • Can these systems go above 384GB? Feb 4, 2014 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, 2014 at 14:25
  • Does "cost-effective" inlude the cost of the SQL server licance? Feb 4, 2014 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, 2014 at 15:26
  • Thanks, E5-2637 v2 looks like a great CPU, 768GB ram AND 15MB cache. Feb 4, 2014 at 18:37
4

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.

3
  • Does disabling core in the BIOS fulfil Microsoft licence limits? Feb 4, 2014 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. Feb 4, 2014 at 13:31
  • I don't now about that from a legal perspective but it should achieve what you want functionally.
    – Chopper3
    Feb 4, 2014 at 13:59
1

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.
4
  • Xeon E servers wasn't capable of anything above 32GB last I checked.
    – 3molo
    Feb 4, 2014 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, 2014 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.) Feb 4, 2014 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, 2014 at 20:37
1

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.

2
  • 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. Feb 4, 2014 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, 2014 at 15:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .