<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>vPivot &#187; oracle</title>
	<atom:link href="http://vpivot.com/tag/oracle/feed/" rel="self" type="application/rss+xml" />
	<link>http://vpivot.com</link>
	<description>Scott Drummonds on Virtualization</description>
	<lastBuildDate>Wed, 01 Feb 2012 06:46:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Virtual Storage Design: Application Consolidation</title>
		<link>http://vpivot.com/2010/01/15/virtual-storage-design-application-consolidation/</link>
		<comments>http://vpivot.com/2010/01/15/virtual-storage-design-application-consolidation/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 17:27:37 +0000</pubDate>
		<dc:creator>drummonds</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[emc world]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://vpivot.com/?p=246</guid>
		<description><![CDATA[Fixed recommendations for consolidation ratios are cancerous.  Whether we are talking about vCPUs per core, virtual machines per host, or VMDKs per LUN, there is no single number the represents the &#8220;right&#8221; ratio.  Accurate guidance requires workload characterization and fine tuning using vSphere&#8217;s performance counters.  Today I want to highlight one experiment that shows application [...]]]></description>
			<content:encoded><![CDATA[<p>Fixed recommendations for consolidation ratios are cancerous.  Whether we are talking about vCPUs per core, virtual machines per host, or VMDKs per LUN, there is no single number the represents the &#8220;right&#8221; ratio.  Accurate guidance requires workload characterization and fine tuning using vSphere&#8217;s performance counters.  Today I want to highlight one experiment that shows application choice impacting VMDK-to-LUN consolidation.  The inescapable conclusion is that sequential access data must be separated from random access files!</p>
<p><span id="more-246"></span>In <a href="http://www.vmware.com/files/pdf/partners/academic/vpact-workloads.pdf">2009 VPACT paper</a>, VMware engineers showed application performance when the storage is consolidated.  This paper is a bit academic for the average virtualization nut, but does contain insights into choosing which VMDKs to consolidate into a single VMFS volume.  It does this by running applications that contain random or sequential IO and comparing performance with isolated (dedicated) storage to performance using consolidated storage.</p>
<p>The first experiment tested DVD store against Microsoft SQL Server and Oracle Swingbench OLTP against an Oracle database.  These OLTP workloads result in random IO on the data disks.  In the isolation experiment each virtual machine was run with its VMDK on a three-disk RAID 5 LUN (2+1).  In the consolidation experiment, both virtual machines&#8217; VMDKs were put on a common six-disk RAID 5 LUN (5+1).  Here are the paper&#8217;s results from table 1 of the paper:</p>
<div id="attachment_247" class="wp-caption alignnone" style="width: 610px"><a href="http://vpivot.com/wp-content/uploads/2010/01/random_consolidation.png"><img class="size-full wp-image-247" title="Consolidating Random Access Virtual Disks" src="http://vpivot.com/wp-content/uploads/2010/01/random_consolidation.png" alt="Consolidating Random Access Virtual Disks" width="600" /></a><p class="wp-caption-text">Consolidating Random Access Virtual Disks</p></div>
<p>The &#8220;application metric&#8221;, transactions per minute, is the most important indicator of the end user&#8217;s observed performance.  You can see from the results that consolidating (sharing) storage of random workloads does not harm performance at all.  In fact, SQL Server performance increased by 25%, reflecting the relative increase in data disks per stripe.</p>
<p>The second experiment again used DVD Store against SQL Server for a random IO workload.  But instead of a second random workload, an Oracle database was tested by the Swingbench Decision Support System, which results in highly sequential access.  Here are the results of that experiment, taken from table 2 of the paper:</p>
<div id="attachment_248" class="wp-caption alignnone" style="width: 610px"><a href="http://vpivot.com/wp-content/uploads/2010/01/sequential_consolidation.png"><img class="size-full wp-image-248" title="Sequential Workload Consolidation" src="http://vpivot.com/wp-content/uploads/2010/01/sequential_consolidation.png" alt="Sequential Workload Consolidation" width="600" /></a><p class="wp-caption-text">Sequential Workload Consolidation</p></div>
<p>The random workload, SQL plus DVD Store, again improved as the relative percentage of data disks in the RAID volume increased.  But the Decision Support System workload, so heavily dependent on sequential storage performance, suffered greatly.  DSS performance dropped 30% when measured by IO throughput and 50% when measured by completed transactions.</p>
<p>Applications with a sequential storage access pattern can be heavily dependent on the array&#8217;s ability to coalesce IO requests and complete large numbers of IOs very rapidly.  But when a VI admin includes a random access VMDK on the same LUN, the aggregate, interleaved LUN access is no longer sequential.  This slows down the array&#8217;s sequential and its effects are profound at the application level.</p>
<p>There are two summary recommendations from this experiment:</p>
<ul>
<li>A smaller number of RAID 5 volumes using many disks will outperform a larger number of RAID 5 volumes that use fewer disks.  This is due to the relative decrease in parity on the configuration.</li>
<li>VMDKs with random access can be consolidated to a single VMFS volume safely but sequential access pattern files should be separated to their own LUNs.</li>
</ul>
<p>The VMware performance team has a lot more to say about storage design to maximize application performance in virtual environments.  I will have more blog articles as the weeks progress and a white paper to share in the second quarter of 2010.  I expect it to be ready no later than <a href="http://www.emcworld.com/">EMC World 2010</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://vpivot.com/2010/01/15/virtual-storage-design-application-consolidation/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Top Five VROOM! Entries for 2009</title>
		<link>http://vpivot.com/2009/10/06/top-five-vroom-entries-for-2009/</link>
		<comments>http://vpivot.com/2009/10/06/top-five-vroom-entries-for-2009/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 21:45:34 +0000</pubDate>
		<dc:creator>drummonds</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[citrix]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[vmmark]]></category>
		<category><![CDATA[workstation]]></category>
		<category><![CDATA[xenapp]]></category>
		<category><![CDATA[xenserver]]></category>

		<guid isPermaLink="false">http://vpivot.com/?p=118</guid>
		<description><![CDATA[I love VMware&#8217;s performance blog, VROOM!  It is our most popular performance communication vehicle and its content is backed by a stellar engineering team with unmatched integrity.  Each article details the nuances of VMware performance and educates on application and platform best practices.  I love all the articles but am always surprised as to which [...]]]></description>
			<content:encoded><![CDATA[<p>I love VMware&#8217;s performance blog, VROOM!  It is our most popular performance communication vehicle and its content is backed by a stellar engineering team with unmatched integrity.  Each article details the nuances of VMware performance and educates on application and platform best practices.  I love all the articles but am always surprised as to which our readers find most popular.  Here is a countdown of the five entries most read in 2009.</p>
<p><span id="more-118"></span></p>
<h2>Number 5: <a href="http://blogs.vmware.com/performance/2007/07/comparing-intel.html">Comparing Intel Dual-Core and Quad-Core Using VMmark</a></h2>
<p>This article received 4,700 views in 2009.  I am not surprised that this two-year-old article is so popular, though.  Even this morning at <a href="http://blogs.vmware.com/vmtn/2009/09/intel-vmware-live-chat-tuesday-oct-6.html">Intel&#8217;s live chat</a> I was asked for advice on selecting core/socket configurations.  Everyone wants to know if the cores on the largest servers can be put to good use.  The article summed up findings with this graph:</p>
<img title="Quad versus dual core parts." src="http://blogs.vmware.com/photos/uncategorized/2007/07/18/quadblog2.jpg" alt="VMmark results showing quad-core HP servers versus dual-core HP servers." width="600" />
<p>Doubling cores or sockets does not exactly double performance.  In this case the quad-core system produced 70% more throughput than its equivalent dual-core configuration.</p>
<h2>Number 4: <a href="http://blogs.vmware.com/performance/2008/05/100000-io-opera.html">100,000 I/O Operations Per Second, One ESX Host</a></h2>
<p>In VMware&#8217;s early days customers were concerned that ESX lacked the storage throughput for demanding workloads.  In our first effort to dispel this rumor, we partnered with EMC to demonstrate a handful of VMs driving 100,000 IOPS on a single host.  A year later we updated those results on vSphere and <a href="http://blogs.vmware.com/performance/2009/05/350000-io-operations-per-second-one-vsphere-host-with-30-efds.html">showed VMs on ESX demanding 365,000 IOPS from EMC&#8217;s Enterprise Flash Devices (EFDs)</a>.  But the original article remains the more popular and has received 8,000 hits in 2009.</p>
<h2>Number 3: <a href="http://blogs.vmware.com/performance/2009/01/virtualizing-xenapp-on-xenserver-50-and-esx-35-1.html">Virtualizing XenApp on XenServer 5.0 and ESX 3.5</a></h2>
<p>I guess that people love <a href="http://www.catalyst.burtongroup.com/Na09/PlayerVideo011.html">a good argument</a>.  Our customers have heard enough misinformation on vSphere and XenServer performance that our performance team wanted to weigh in with a rare competitive comparison.  That article has received 13,400 hits in 2009.  It details an experiment in which we used a workload that will eventually be released as View Planner to demonstrate scalability performance of VMware&#8217;s and Citrix&#8217;s respective products.</p>
<img title="Maximum Desktop Counts on XenServer and vSphere" src="http://blogs.vmware.com/.a/6a00d8341c328153ef01053704d486970c-pi" alt="In a heterogeneous workload based on a large number of applications, VMware vSphere outperforms Citrixs offering." width="600" />
<p>Desktop and terminal services performance is continually a hot topic.  Unlike enterprise applications, there is no industry standard for measuring virtual desktop performance.  VMware has favored an approach that uses many operations on the most common desktop applications.  Every other public comparison either restricts is measurements to a single operation or favors easy automation over application relevancy.</p>
<h2>Number 2: <a href="http://blogs.vmware.com/performance/2007/11/ten-reasons-why.html">Ten Reasons Why Oracle Databases Run Best on VMware</a></h2>
<p>In his first public work at VMware, our Chief Performance Architect, Richard McDougall, showed us how good he is at evangelizing technology to large audiences.  His article has received 14,300 hits in 2009 despite its 2007 publication date.  Oracle databases are incredibly popular topics among VI administrators and Richard was the first to point out that VI3&#8242;s storage throughput ability was far beyond the needs of the average 4-way Oracle database:</p>
<img title="VI3 Storage Performance Exceeds Oracle Database Needs" src="http://blogs.vmware.com/photos/uncategorized/2007/11/13/iops_2.png" alt="In 2007, VI3 supported IO capabilities to support up to 80 4-way Oracle DBs." width="600" />
<p>Back in 2007 we were trying to convince everyone to virtualize their demanding Oracle databases.  We knew that VI3 could handle it and our early adopters knew, too.  But since vSphere launched, everyone has known.  If you think that vSphere cannot handle your most demanding Oracle databases, <a href="http://www.vmware.com/pdf/Perf_ESX40_Oracle-TPC-C-eval.pdf">think again</a>.</p>
<h2>Number 1: <a href="http://blogs.vmware.com/performance/2007/05/windows_vista_p.html">Windows Vista Performance in VMware Workstation 6.0</a></h2>
<p>I attribute the fact that fact that this aging article has received 15,000 hits in 2009 to the incredible size of consumer desktop products as opposed to enterprise software and hardware.  But it is worth mentioning that this article was written by Zhelong Pan, the developer responsible for esxtop, who has also written <a href="http://communities.vmware.com/docs/DOC-9279">the most popular article on the VMware performance communities</a>.  That guy has the magic touch!</p>
]]></content:encoded>
			<wfw:commentRss>http://vpivot.com/2009/10/06/top-five-vroom-entries-for-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ESX Memory Management: Ballooning Rules</title>
		<link>http://vpivot.com/2009/09/25/esx-memory-management-ballooning-rules/</link>
		<comments>http://vpivot.com/2009/09/25/esx-memory-management-ballooning-rules/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 10:01:29 +0000</pubDate>
		<dc:creator>drummonds</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[balloon]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://vpivot.com/?p=10</guid>
		<description><![CDATA[[Taken from my communities blog, this article shows you why you should "Love Your Balloon Driver".] Earlier this month we finally published one of my favorite papers from ongoing vSphere launch activities. This paper on ESX memory management, written by Fei Guo of performance engineering, has three graphs that are absolute gems. They show balloon [...]]]></description>
			<content:encoded><![CDATA[<p><em>[Taken from <a href="http://communities.vmware.com/blogs/drummonds/2009/09/09/love-your-balloon-driver">my communities blog</a>, this article shows you why you should "Love Your Balloon Driver".]</em></p>
<p>Earlier this month we finally published one of my favorite papers from ongoing vSphere launch activities.  This <a class="jive-link-external" href="http://www.vmware.com/resources/techresources/10062">paper on ESX memory management</a>, written by Fei Guo of performance engineering, has three graphs that are absolute gems. They show balloon driver memory savings next to throughput numbers for three common benchmarks.  The conclusion is inescapable: the balloon driver reclaims memory from over-provisioned VMs with virtually no impact to performance.  This is true on every workload save one: Java.<br />
<span id="more-10"></span><br />
<h2>Example 1: Kernel Compile</h2>
<p>Linux kernel compilation models a common developer environment.  This process is CPU- and IO-intensive but uses very little memory.</p>
<p><img class="jive-image-thumbnail jive-image" src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/38-4976-6949/Picture+1.png" alt="Picture 1.png" width="620" /></p>
<p>Results of two experiments are shown on this graph: in one configuration memory is reclaimed only through ballooning and in the other memory is reclaimed only through host swapping.  The bars show the amount of memory reclaimed by ESX and the line shows the workload performance.  The steadily falling green line reveals a predictable deterioration of performance due to host swapping.  The red line holds steady, demonstrating that as the balloon driver inflates, kernel compile performance is unchanged.</p>
<p>Kernel compilation performance remains high with ballooning because this workload needs very little memory and the guest OS can easily take unused pages from the application.  Performance falls with swapping because ESX randomly selects virtual machine pages for swapping whether those pages are in use by the application or not.  The guest OS is better at selecting pages for reclamation than ESX is.</p>
<h2>Example 2: Oracle/Swingbench</h2>
<p>Oracle&#8217;s database is best tested against Swingbench, the OLTP load generation tool provided by Oracle.  Database workloads utilize all system resources but show a non-linear dependence on memory.  Memory can be safely reclaimed from OSes running databases until the cache becomes smaller than needed by the workload.  The following figure shows this.</p>
<p><img class="jive-image-thumbnail jive-image" src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/38-4976-6950/Picture+2.png" alt="Picture 2.png" width="620" /></p>
<p>As before, the virtual machine using only ballooning maintains higher performance under memory pressure than the virtual machine whose memory is being swapped away by the host.  Performance remains high as the balloon driver inflates until it encroaches into the 2G SGA.  Again, ESX&#8217;s host swapping randomly selects pages to send to disk which degrades performance at all swap amounts.</p>
<p>As with kernel compile, the balloon driver safely reclaims memory from over-provisioned VMs with little impact to application performance.</p>
<h2>Example 3: Java/SPECjbb</h2>
<p>Java provides a special challenge in virtual environments due to the JVM&#8217;s introduction of a third level of memory management.  The balloon driver draws memory from the virtual machine without impacting throughput because the guest OS efficiently claims pages that its processes are not using.  But in the case of Java, the guest OS is unaware of how the JVM is using memory and is forced to select memory pages as arbitrarily and inefficiently as ESX&#8217;s swap routine.</p>
<p><img class="jive-image-thumbnail jive-image" src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/38-4976-6951/Picture+3.png" alt="Picture 3.png" width="620" /></p>
<p>Neither ESX nor the guest OS can efficiently take memory from the JVM without significantly degrading performance.  Memory in Java is managed inside the JVM and efforts by the host or guest to remove pages will both degrade Java applications&#8217; performance.  In these environments it is wise to manually set the JVM&#8217;s heap size and specify memory reservations for the virtual machine in ESX to account for the JVM, OS, and heap.</p>
<h2>Conclusions and Scott&#8217;s Special Recommendation</h2>
<p>Love your balloon driver.  Your application owners are always asking for more memory than they need.  With great comfort you can over-provision memory some and rely on ESX and the balloon driver to reclaim what is not in use.  Without the balloon driver, ESX will be forced to use its last technology for managing memory over-commit: host swapping.  And host swapping always hurts performance.</p>
<p>So here is my special recommendation: never, ever disable the balloon driver. This eliminates efficient ballooning as an option to ESX.  Should any of that virtual machine&#8217;s memory be needed, ESX can only swap it out. Where ballooning usually will not hurt performance, swapping always will.  If you <em>must</em> protect an application from memory reclamation due to memory over-commitment, use reservations.  They make admission control more effective, they self-document the needs of the VM, and they are easily configured.</p>
]]></content:encoded>
			<wfw:commentRss>http://vpivot.com/2009/09/25/esx-memory-management-ballooning-rules/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

