Skip site navigation (1) Skip section navigation (2)

Re: deciding between amd and intel processor

From: Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>
To: Imre Oolberg <imre(at)auul(dot)pri(dot)ee>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: deciding between amd and intel processor
Date: 2012-03-21 01:37:23
Message-ID: CAOR=d=0nG_ZUOMPfcga2yfhyynRNA8HvLHSogZ7QcB4+t1G02g@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-admin
On Tue, Mar 20, 2012 at 5:42 PM, Imre Oolberg <imre(at)auul(dot)pri(dot)ee> wrote:
> Hi!
>
> My comerade has to decide for his so to say generic and a bit unpredicted
> PostgreSQL needs for web applications between Intel and AMD based server.
> For now it has been coming down to these processor choices
>
> 1. Dell PowerEdge R810 which has 2 x Intel® Xeon® E7­-4830 2.13GHz, 24M
> cache 6.4 GT/s QPI, Turbo, HT, 8C, 1066MHz Max Mem processors

Is this CPU really limited to 1066MHz memory?  That's positively
ancient by today's standards.

> as i see this makes total of 2 x 16 cores (or 2 x 16 threads) amd in total
> of 2 x 24 MB L2 cache

HT cores aren't 100% as fast as a real core.  They can get close
depending on the application.  Generally the more CPU intensive the
better they do.  The more you treat your CPUs like a data pump the
less it matters.  It terms of performance, it's like something between
16 and 32 cores.  I'd guestimate it at about 24 or so.

> 2. Dell PowerEdge R815 4 x AMD Opteron 6272, 2.1GHz, 16C, Turbo
> CORE, 16M L2/16M L3, 1600Mhz Max Mem processors
>
> as i see this makes total of 4 x 16 cores and in total of 4 x 16 MB L2 cache

Yep.  FAR more important is how many different memory banks you're now
capable of throwing at the problem.  Each socket allows for a new
memory controller on the machine, since the newer Intels and AMDs have
integrated memory controllers.  This reduces contention between CPUs
for memory access, and increases overall throughput.   Given the much
slower main memory speed listed for the Intels I'd expect the AMD
machine to stomp the Intel machine into the mud in terms of
throughput.  If the Intels are REALLY 1600, then the AMDs would still
get the nod, but it would be closer.

So far based on what you've posted, I'd pick the AMD, mainly because
it has more memory bandwidth.

> Other computer components are quite similar
>
> - 128 GB 1333 dual ranked lv rdimm MHz memory for AMD

Is the cost of 1600MHz memory that much more?  If it's a few hundred
or something, get the 1600MHz memory.  If it's a few thousand, then
yeah, it might be worth sticking to 1333MHz memory and buying more
hard drives etc.

> - 128 GB 1066 dual ranked lv rdimm MHz memory for Intel
> - PERC H700 Integrated RAID Controller, 1GB NV Cache
> - 4 x 600GB 10K RPM SAS 6Gbps 2.5in Hot­plug Hard Drive

I'm not that familiar with the PERC H700.  While older model PERCs
were at best of questionable performance, the newer ones apparently
get decent reviews.  that's a pretty small drive set for a machine
this massive.

> Based on dell.com AMD variant comes about $14 k and Intel $17 k.

Wow, that's a lot.  A similar machine with 5 drive bays, 5 300G SAS
drives and an Areca 1880 SAS controller, and 4x16 AMD 6272 is right at
$10k from aberdeeninc.com, and that's with a 5 year warranty.  For
that extra $4k you could probably upgrade to something with 16 or more
drives.  IO is king of db performance.  All the CPU in the world won't
help if you're waiting on your drive subsystem.

> And i got following questions in mind
>
> 1. do you suggest this Intel or this AMD configuration taking also into
> account price? while it seems obvious to go with AMD so to say price-wise
> are there some hidden rocks behind the surface going with AMD (like L2 cache
> usage, overall system stability)?

I'd recommend neither, as I'd rather chew off my own arm than ever
have to deal with Dell again.  Way too many deals gone sour, and
horribly unknowledgable sales staff for me to deal with anymore.  If I
have a purchasing officer somewhere in a big company to deal with them
they're OK.

The L2 cache is no biggie.  both the AMD and Intel CPUs listed are
pretty good performers.  The equivalent intel chips cost WAY more than
the AMD ones tho, and honestly unless you're going for the top of the
line fastest 10 core CPUs the Intels aren't gonna be much faster, if
any.

> 2. if it makes much sence to ask like this what could be considered on
> normal postgresql workload (with web applications) reasonable balance
> between cpu cores and memory system has?

Without seeing some analysis of the current system, it's hard to say
what you need to upgrade really.  What do tools like iostat, vmstat,
sar, iotop, iftop and so on say about the current system under load?

> 3. it is intended to use debian on this system, now squeeze and some day
> wheezy, both hardwares most probably match quite well with debian and
> postgresql?

You want a pretty late model kernel for a 64 core machine.  Anything
released in the last two years will likely be ok, so yeah, Debian
Squeeze or Ubuntu 10.04 should be ok.

> 4. it is intended not to use virtualization (KVM or Xen) but if needed, then
> just use different pg clusters as in pg_lsclusters, and controlling
> resources for each with shared_buffers etc, or should virtualization rather
> be considered?

Only use virtualization if you really have to.  Most of the time
you're better off with one cluster, or maybe two or three at most if
the usage patterns are really different.  Virtulization has both
performance implications as well as data security implications, due to
questions about proper buffer flushing.

> 5. i know that with four physical disks databases are generally recommended
> to use raid10 , but what would be recommended raid setup with six drives?

RAID-10 on all 6 or RAID-1E on 5 with a hot spare is how I'd go.  But
honestly, even 6 spinning disks seems like a low count.  Now 6 SSDs is
another matter.  How big is his data set?  if it's pretty large then
he needs spinners, and in that case, throwing more at the problem is a
good idea.  A 2U case that can hold 8 3.5" drives can hold a TON of
data, 8x3TB drives, even in RAID-10 gives you 12TBs.

But all of this advice is kind of like the proverbial blind guy
describing an elephant.  I'm not sure what the real workload looks
like.  Yeah it's a web app, but that's kinda generic too.  Banking,
content management, poker?  Your friend needs to profile his current
system to see what's his choke points before he shells out $10k or
more for a db server.  Be sad if all he needs is a RAID controller and
a box of 16 hard drives to make his current system performant and he
spent all that money on CPUs and memory he doesn't need, etc.

In response to

Responses

pgsql-admin by date

Next:From: Scott MarloweDate: 2012-03-21 02:06:48
Subject: Re: deciding between amd and intel processor
Previous:From: Imre OolbergDate: 2012-03-20 23:42:53
Subject: deciding between amd and intel processor

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group