On Sat, Jan 20, 2018 at 7:56 PM, Yaniv Kaul <ykaul@redhat.com> wrote:


On Jan 19, 2018 12:31 PM, "Gianluca Cecchi" <gianluca.cecchi@gmail.com> wrote:
On Fri, Jan 19, 2018 at 11:15 AM, Yaniv Kaul <ykaul@redhat.com> wrote:


On Jan 19, 2018 10:52 AM, "andreil1" <andreil1@starlett.lv> wrote:


Migration disabled.

Why this enforcing? If the VM is so important I see it as a limitation not to be able to move it in case of need

It's related to CPU pinning and NUMA. 
 
Yes. But normally a DB VM is also important form a sla point of view.
So in general one has to find a tradeoff between pure performance and service level




Pass-through host CPU enabled

I don't know if this is so important.
Tested with Oracle RDBMS and not used in my case.

In the specific case of Oracle, I actually suspect you must use CPU pinning for licensing reasons. I suggest you check. 

No. Oracle requires you to license the physical host and all the hypervisors' farm.
So in my case using SE2 and having for example 3 x 2-cpu hosts composing the oVirt cluster, you have to license for all 6 sockets.
Done that, you can run how many (non RAC) RDBMS instances inside VMs of this oVirt cluster.
Unfortunately If you want to run RAC RDBMS your are also enforced to run single socket hypervisors to respect Oracle licensing for RAC on SE2.
So in my case I didn't use this option.

 

As for CPU passthrough, might depend on which features you use. 

 

Any idea of NUMA settings ?

Indeed. + Huge pages, in both host and guest. 

Do you think NUMA so essential? It implies non-migratable VM...
In my tests I didn't set NUMA

Depends on the workload really. It and CPU pinning are many times critical for IO bound workloads. Also depends on how much optimization you are after. 

I saw enabling IO threads was the thing making the greatest difference inside the VM from an I/O point of view.
I think I cannot disclosure detailed Oracle performance, but in one of my tests with HP BL460c G9 with E5-2680v4 cpu, I compared Oracle Linux 7.3 with Oracle 12.1 SE2 on both the bare physical server and inside an Oracle Linux 7.3 VM configued inside it, using HammerDB and the performance was quite similar in the one VM running on host configuration.
The physical has 2 x 14 core + HT cpus and I configured the VM up to 2:12:2 and so 48 threads in total and 4 IO threads because I have 4 disks configured at VM level.
I think it doesn't make sense to configure more than 1 IO thread for disk at VM level, correct?
Under the curtains there is an HP 3PAR with a mix of SSD and SAS disks and I was able to reach 800-900 MB/s in reads under the VM.

Gianluca