The top ten most important features for getting the best Oracle database performance using VMWARE ESX Server and other technologies…
There are a few common myths about virtualizing databases:
* Databases have a high overhead when virtualized: Virtualized Databases can perform at or near the speed of physical systems, in terms of latency and throughput. The virtualization overhead for typical real-world databases is minimal – for VMware ESX Server, we measured CPU overhead to be less than 10%.
* Databases have too much I/O to be virtualized: Databases typically have a large number of small random I/Os, and it is in theory possible to hit a scaling ceiling in the hypervisor layer. VMware ESX’s thin hypervisor layer can drive over 63,000 database I/Os per second, which is equivalent to more than 600 disk spindles of I/O throughput. This is sufficient I/O scaling for even the largest databases on x86 systems.
* Virtualization should only be used for smaller, non-critical applications: The ESX hypervisor is very robust: many customers are seeing over two years of uptime from ESX based systems. In addition, the ESX hypervisor remains stable, even if resources are overcomitted.
There isn’t one quick hit to make databases work well for a wide range of real-world applications – good performance is something that is earned from the long term discipline of focusing the lessons learned from many customer-oriented real-world database workloads, and applying those lessons across the architecture of the hypervisor.
The Nature of Databases
Databases have some unique properties, such as a-large memory footprint. At the outset this can make them slightly more complex to virtualize well. However this has proven to be an opportunity, since we can optimize specifically for these defining properties.
* Large Memory: Databases use large amounts of memory to cache their storage. A large cache is one of the most important performance criteria for databases, since it can often reduce physical I/O by 10-100 fold.
* High Performance Block I/O: Databases read and write their data in fixed, block sized chunks. The I/Os are typically small, and operate at a very high rate on a small number of files or devices.
* Throughput Oriented: Databases often have a large number of concurrent users, giving them natural parallelism and makes them ideally suited to take advantage of systems with multiple logical or physical processors.
* Near Native Performance: Oracle databases run at performance similar to that of a physical system
* Extreme Database I/O Scalability: VMware ESX Server’s thin hypervisor layer can drive over 63,000 database I/Os per second (fifty times the requirement of a typical database)
* Multi-core Scaling: Scale up using SMP virtual machines and multiple database instances
* Large Memory : Scalable memory – 64GB per database, 256GB per host
We are getting ready (or at least entertaining the idea of) to switch to Oracle 11g on RHEL. We understand that this is a very successful configuration in the IT world currently. We are wanting to run this on ESX and will thus be adding additional licensed copies to our environment should this be the final direction.
1. Is this a good fit for VMWare (i.e. are you folks doing it currently?)
2. We will be running EPM (PeopleSoft) on this and we understand that it is fairly intensive model building and data warehousing.
3. We have been told that it will require major cpu and ram but, like everything else, this is generally not the case once you put it on VMWare as you end up seeing how little of it gets used.
We will also be looking at professional help for this implementation should we go down this path so any suggestions you have along these lines would be appreciated too.
Some Sources:
http://vmware.com/partners/virtualize_oracle_landscape.html
http://communities.vmware.com/docs/DOC-2150
http://blogs.vmware.com/performance/2007/11/ten-reasons-why.html?cid=153655165
C’mon Lava cheer up….. you have to strive……. get back to your track, prove your point, damn it………
HistorySpeaks
forget Mullahas, all of you free to comment as you like
hehe,TheRealLoveFriendFan, good write up, Normalizing and denormalizing brain can really help you and others due to * Multi-core Scaling and * Large Memory that you have as sseen from your nasty but nice comment and the indication somebody’s total personal maaters in hi-tech writing.
If you wanna extract best of the database performance, fine tune the brain (Normal…DeNormal). Never fashionate upon machine tag, can be isleading. Have you ever checked your salary sheet? Concentrate on that too.
Click my website link here and read more you fool blogger.
My Top Ten references for Oracle geeks, developers, DBA, and researchers are:
[1] Andrea C. Arpaci-Dusseau and Remzi H. Arpaci-
Dusseau. “Information and Control in Gray-Box Systems,”
Proc. Symposium on Operating System Principles,
October 2001.
[2] Ozalp Babaoglu and William Joy. “Converting a Swap-
Based System to do Paging in an Architecture Lacking
Page-Reference Bits,” Proc. Symposium on Operating
System Principles, December 1981.
[3] Edouard Bugnion, Scott Devine, Kinshuk Govil, and
Mendel Rosenblum. “Disco: Running Commodity Operating
Systems on Scalable Multiprocessors,” ACM Transactions
on Computer Systems, 15(4), November 1997.
[4] Pei Cao, Edward W. Felten, and Kai Li. “Implementation
and Performance of Application-Controlled File
Caching,” Proc. Symposium on Operating System Design
and Implementation, November 1994.
[5] Jeffrey S. Chase, Darrell C. Anderson, Prachi N. Thakar,
and Amin M. Vahdat. “Managing Energy and Server Resources
in Hosting Centers,” Proc. Symposium on Operating
System Principles, October 2001.
[6] R. J. Creasy. “The Origin of the VM/370 Time-Sharing
System,” IBM Journal of Research and Development,
25(5), September 1981.
[7] Bryan Ford, Mike Hibler, Jay Lepreau, Patrick Tullman,
Godmar Back, and Stephen Clawson. “Microkernels
Meet Recursive Virtual Machines,” Proc. Symposium
on Operating System Design and Implementation,
October 1996.
[8] Robert P. Goldberg. “Survey of Virtual Machine Research,”
IEEE Computer, 7(6), June 1974.
[9] Kinshuk Govil, Dan Teodosiu, Yongqiang Huang, and
Mendel Rosenblum. “Cellular Disco: Resource Management
Using Virtual Clusters on Shared-Memory Multiprocessors,”
Proc. Symposium on Operating System
Principles, December 1999.
[10] Peter H. Gum. “System/370 Extended Architecture: Facilities
for Virtual Machines,” IBM Journal of Research
and Development’, 27(6), November 1983.