Re: Dismal performance on a 16G memory/8 core server - my.cnf settings? Hi,
On Wed, Apr 23, 2008 at 11:07 PM, JW <jw@mailsw.com> wrote:
> Hello,
>
> We recently purchased a Dell PowerEdge 6650 thinking it would be a real fast
> server.
>
> Specs are:
> OS: Linux Debian 4.0/Etch
> RAID 5 on 4x U320 15k rpm drives
> (uses a perc-raid 3/DC hardware raid controller)
> 16GB of RAM
> 4 3.0 Ghz Xeon processors - I think they're dual core, in /proc/cpuinfo it
> shows up as 8 processors - maybe it's only HT
>
> I first made the mistake of using the default kernel, which provides SMP
> support but not large memory support.
>
> I have the output of a mysql sql-bench run from mysql on a Mac Mini to compare
> performance with.
>
> The server was only 0.35 (relative) the speed of the Mac mini - that means an
> 8 core 3.0 Ghz Xeon server with 16GB of RAM was only about 3x as fast as a as
> a single-core 1.25 Ghz G4 with 1GB of RAM (and a mini uses those
> little "laptop" hard drives, too).
>
> Needless to say my employer was shocked at the terrible performance and
> decided to sell the 6650 right away.
>
> But I can't help but wonder if there's not something terribly wrong with the
> settings - either the OS or mysql settings.
>
> I changed the kernel to the "-bigmem" kernel. It now sees all the RAM, but the
> sql-bench output on this try was _exactly_ the same: 0.35
>
> I copied the my-huge.cnf from the examples directory and changed the
> thread_concurrency setting to 8 (because it said to set it to No. of CPUs*2).
>
> I also set the tmpdir, basedir, datadir and language, which were set in the
> original my.cnf
>
> I ran sql-bench again and the performance was even worse this time: 0.36
>
> Someone suggested I try the -amd64 kernels which provide 64 bit but when I try
> to boot it I get various errors about "this CPU does not support long
> (something) please use a 32-bit OS" - the 64 bit install CD says the same
> message. So I assume these are not 64 bit CPUs.
They almost certainly are. Look at the contents of /proc/cpuinfo.
You are probably using a 32-bit OS. You can't use a lot of memory
efficiently unless you install a 64-bit OS, regardless of whether it
has "big memory support". But that's an x86_64 OS, not an AMD64 OS.
These are not the same architecture.
> Any idea how I can configure this server to maximize performace?
>
> I think the multiple CPUs are a waste: I'm not looking for lots of
> concurrency, I want 1 query done really fast.
You will be bound by CPU performance on any given single query, yes.
But properly tuned, you may get a lot more performance out of this
machine. Have you tuned MySQL (key_buffer_size and/or
innodb_buffer_pool_size) to use the added memory, for starters? How
much data do you even have? If your data all fits in the mac mini's
memory and it has a comparable CPU and bus, I wouldn't be surprised to
see it keeping up with the Dell fairly well on this benchmark.
More to the point: does the benchmark reflect your real-life workload?
Baron |