The top ten most important features for getting the best Oracle database performance using VMWARE ESX Server and other technologies

Posted by: Lava Kafle

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

The top ten most important features for getting the best Oracle database performance using VMWARE ESX Server and other technologies was last modified: June 11th, 2009 by Lava Kafle

Blog Comments

  1. NepaleseTheCommonMan

    C’mon Lava cheer up….. you have to strive……. get back to your track, prove your point, damn it………

    HistorySpeaks

  2. TheRealLoveFriendFan

    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.

  3. TheLoveFriend

    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.

  4. Transparent Paging Technology in Virtualization using HyperVisor Threads

    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.

Post Your Comments:

Your email address will not be published. Required fields are marked *