Re: oracle SE very slow on P7

From: Mladen Gogala <gogala.mladen_at_gmail.com>
Date: Sun, 29 Jan 2012 17:49:15 +0000 (UTC)
Message-ID: <pan.2012.01.29.17.49.14_at_gmail.com>



On Sun, 29 Jan 2012 12:20:30 +0100, nonor73 wrote:

> hello
>
> We move our JDE production DB, oracle 10GR2 EE, from IBM P570 with P6
> processor (4.2Ghz) on P740 with P7 processor (3.3Ghz). The first test we
> ran was an import mono process, on P740 it take two time than on P570,
> the import spent a lot of time in index build ans statistics
> computation.
> It seems that the multi-threading of P7 is not used when Oracle is used
> in mono-thread, and the performance of one thread on P7 is by far less
> good than P6.
> If someone get some experience on Oracle on P7, could you share..
>
> Thank you

I would think that this problem is an AIX problem, not an Oracle problem. Oracle on Unix uses processes, not threads. The most significant advantage of P7 over P6 is the multi-core design, capable of 8 cores, if I remember correctly, per CPU. With multi-core CPU solutions, there is one significant problem: the efficiency of CPU cache. The rule is simple: the more cores you have - less efficient the cache gets, because the cache will get flushed so frequently that it's essentially useless. Without the advantage of multithreading, your shining P7 is actually quite a bit slower than P6, because of the frequency. I am aware of the fact that each core has its own 32k+32k instruction and data L1 cache, but there is a logical problem with that: caches have to be coherent. When a core modifies location in memory, all other cores have to check whether they have this location in their L1/L2 caches and flush that cache line or the entire cache, that depends on the implementation) and re-read it. I imagine that the impact of a software like oracle which uses shared memory and is written to exploit the locality of references (meaning that at one point in time oracle processes do their best to stay within the small range of addresses) on the CPU caches can be quite severe.
You should monitor the CPU consumption with sar and see how much time does the machine spend in the kernel mode. If the average is above 10%, than the AIX is responsible for your slowdown, not Oracle.

-- 
http://mgogala.byethost5.com
Received on Sun Jan 29 2012 - 11:49:15 CST

Original text of this message