VMware Cloud Community
edzava
Enthusiast
Enthusiast

Oracle or VM resources tunning?

I have a VM with windows server 2003 standard edition running 4 instances of oracle database 10g (version 10.2.0.4) in esxi 3.5 R4.

I assigned 2 virtual proccessor (3ghz) and 3gb of memory to the VM.

Each oracle service consumes 450mb of ram and there are 2 or 3 total connections to the databases on the server.

I see that the proccesor is always nearly 80% of utilization and the memory is full used and the access is very slowly.

When the VM is restarted and the databases start up the access is very slowly too and there isn't active connectios on any databases.

The DBA reviewed the performance view, alerts, trace logs of all instances and were OK.

I attached some outputs of esxtop (the 2178 ID belongs to the affected VM)

What can you suggeest me to do?

Eduardo

Twitter @eduszavala
Reply
0 Kudos
8 Replies
vm_arch
Enthusiast
Enthusiast

can you tell us a bit more info?.

What are the other vm's on the ESX box (how many vCPU/Memory). From the screenshots it appears you have 32Gb physical memory with about 26Gb of it in use to running VM's - is this correct? CPU resource for the VM you speak of looks overcommitted. Have you tried either a) making a resource reservation on CPU for that VM, or b) increasing the CPU Shares on that VM to HIGH? - this may assist.

proden20
Hot Shot
Hot Shot

From the Oracle standpoint I've seen situations where there didn't appear to be an issue, but the DBA later found out that they needed to tweak their SGA. In addition, after months of not conceding to additional vcpu's, I allocated 4 vcpu's to an Oracle server and reports ran 10x faster. It likes to multithread (but you also suffer the drawback of locking too many cores.)

If you found this question to be correct or helpful, please remember to award points.

Dennis Procopio - VCP

edzava
Enthusiast
Enthusiast

I give you more information.

First, the total instances on the server are six and the correct version is 10.2.0.1.

The characteristics of the phisical server where the esx is running are:

-Server HP proliant ML570 G4 with 4 processors (intel xeon 3.ghz) with hyperthreading

-Memory 32gb (used 17gb)

-Datastore: Local, Raid 5, Capacity 405gb (free:30gb)

I attached a view of all VMS and the first in the list is the affected server (All the virtual machines are win server 2003 standard edition r2)

I obtained useful information for the oracle databases and I attached it. After that I inspected the statistics on the instances so I think the main problem is due a memory limitation and perhaps a bad SGA/PGA tunning.

What do you think?

Thanks,

Eduardo

Twitter @eduszavala
Reply
0 Kudos
edzava
Enthusiast
Enthusiast

I left the VM resources configuration by default for the total VMs.

a) If I have free cpu processing on the esx, Is necessary to do a reservation of CPU?

b) Is a best practices to modify this values on all the VMs?, If I set this value on High, how will it impact on the rest of VMs?

Twitter @eduszavala
Reply
0 Kudos
edzava
Enthusiast
Enthusiast

Yes, I think that DBA must to tweak the databases too.

It is not clear if I put 4vcpu will improve the performance on my server. In your case, what version of databases did you have?, how many instances and how many concurrents connections did you have? If the performance is 10% better is great!!!

Twitter @eduszavala
Reply
0 Kudos
proden20
Hot Shot
Hot Shot

I don't remember the exact scenario, but I believe our problem was that tnslistener was dropping packets, and the dba had to tweak pga/sga. They blamed the vmware infrastructure (and me), until they found the problem was with oracle configuration. Also, I allocate at least 4GB RAM to the Oracle VMs.

Later, there were problems with performance. I try not to grant more vcpus if they don't hit 100% often or a high average, but in this case balancing the load across 4 vcpus immediately showed a drastic improvement in performance. There are costs to it, but it seems to make Oracle happy.

Did you try granting reservation or high cpu shares as recommended above?

If you found this question to be correct or helpful, please remember to award points.

Dennis Procopio - VCP

Reply
0 Kudos
edzava
Enthusiast
Enthusiast

Yes in my case the DBA tweak a bit the sga/pga and also I put 4gb of ram to the VM and the problem was solved.

I must test in another environment the performance of tree or four oracle instances with 4 vcpus assigned.

I didn't use reservation or hight cpus share for the moment, what about you?

Another question, what parameters do you consider to measure your 10% of improvement? any windows particular tool? do you use the oracle performance view?

Thanks Dennis.

Regards,

Eduardo

Twitter @eduszavala
Reply
0 Kudos
proden20
Hot Shot
Hot Shot

Eduardo,

Glad you got it resolved. It is preferable to architect around resource hogs like Oracle, SJAS, etc, even get them in their own cluster if need be.

Reservations depend on your cluster and how implement them (per vm, resource pools, etc.) I use high/normal/low resource pools and make sure my Oracle boxes are in the high share pools. I don't have alot of contention so this really hasn't been a problem for me yet.

I didn't use metrics when I mentioned a "10x" improvement. It was an arbitrary number but report generation dropped from hours to minutes with the addition of 2 vcpus, which was proof in itself.

If you found this question to be correct or helpful, please remember to award points.

Dennis Procopio - VCP

Reply
0 Kudos