<?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; esxtop</title>
	<atom:link href="http://vpivot.com/tag/esxtop/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>Alternative to DRS</title>
		<link>http://vpivot.com/2010/12/03/alternative-to-drs/</link>
		<comments>http://vpivot.com/2010/12/03/alternative-to-drs/#comments</comments>
		<pubDate>Fri, 03 Dec 2010 03:50:21 +0000</pubDate>
		<dc:creator>drummonds</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[drs]]></category>
		<category><![CDATA[esxtop]]></category>
		<category><![CDATA[pricing]]></category>
		<category><![CDATA[vcenter]]></category>
		<category><![CDATA[vmotion]]></category>
		<category><![CDATA[vscsistats]]></category>

		<guid isPermaLink="false">http://vpivot.com/?p=706</guid>
		<description><![CDATA[Now that I am six months removed from VMware, I will admit that we executed poorly in the space of performance management.  I know that there is intense work going on right now in acquisitions, unification of performance management tools, and vCenter improvement through folding in vscsiStats and esxtop data.  But in the area of [...]]]></description>
			<content:encoded><![CDATA[<p>Now that I am six months removed from VMware, I will admit that we executed poorly in the space of performance management.  I know that there is intense work going on right now in acquisitions, unification of performance management tools, and vCenter improvement through folding in vscsiStats and esxtop data.  But in the area of performance reporting and visualization, VMware&#8217;s success has been minimal.  VMware hopes its acquisition of <a href="http://www.alivevm.com/">AliveVM</a> will plug part of this gap but today it is safe to say the field is wide open for VMware&#8217;s partners.</p>
<p>This morning one such partner, <a href="http://www.vmturbo.com/">VMTurbo</a>, gave me a demonstration of their offering in this field.  Their product provides an obvious improvement on vSphere&#8217;s performance visualization capabilities.  But given the state of VMware&#8217;s visualization capabilities virtually any graphical front-end provides an improvement.  But what really set off my imagination were two features I had not seen before:</p>
<ul>
<li>A third-party alternative to DRS.</li>
<li>Cross-cluster resource optimization.</li>
</ul>
<p><span id="more-706"></span>VMTurbo provides a variety of monitoring and analysis capabilities but I want to focus most on optimization, in particular load balancing.  But before describing what VMTurbo has done, I want to point out the economics of competing with VMware&#8217;s DRS.</p>
<p>VMware provides four <a href="http://www.vmware.com/products/vsphere/buy/editions_comparison.html">vSphere editions</a> for its customers.  The cheapest edition that offers DRS is Enterprise at a list price of $2,875USD per socket.  The cheapest edition with vMotion is Standard at $995USD per socket.  There are plenty of cool features that come with upgrading from Standard to Enterprise: DRS, VAAI, Fault Tolerance, Storage vMotion, vShield Zones, and others.  But certainly DRS is one of the most valuable of that list.</p>
<p>By leaving such a big price gap between the cheapest vMotion edition and the cheapest DRS edition, VMware has provided its partners an economic incentive to innovate and provide DRS value to customers at a discount.  VMTurbo may capitalize on this incentive and it would not surprise me if numerous other ISVs are already doing so or soon will.  Once a vendor has built a robust monitoring environment, it is only a clever algorithm away from implementing DRS.  And then a trivial API call away from extending DRS to DPM.</p>
<p>The VMTurbo guys explained that their algorithm uses more resources than just CPU and memory and could therefore be better than DRS.  But I know how much work has gone into VMware&#8217;s memory-and-CPU DRS that I will only believe VMTurbo&#8217;s claims when I see the data.</p>
<p>Another area in which VMTurbo is tinkering is with inter-cluster load balancing.  The demo I received this morning showed a pre-cursor step to datacenter-wide load balancing by modeling the merge of two DRS clusters.  As the <a href="http://vpivot.com/2010/11/29/maximum-hosts-per-cluster/#comments">discussion in my maximum cluster size entry</a> showed, choosing and changing cluster sizes is not easy.  And fluidly moving virtual machines between different clusters is not often possible for a variety of reasons.  But modeling cluster merging is the first step in considering cross-cluster operations.  And I think that there is a huge opportunity in the industry for someone to innovate in datacenter-wide optimization.</p>
<p>I would be curious to see what other vendors are doing with DRS, DPM, or datacenter-wide load balancing.  Can anyone refer me to any ISVs that are trying to crack these difficult problems?</p>
]]></content:encoded>
			<wfw:commentRss>http://vpivot.com/2010/12/03/alternative-to-drs/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Storage Consolidation (or: How Many VMDKs Per Volume?)</title>
		<link>http://vpivot.com/2010/11/07/storage-consolidation-or-how-many-vmdks-per-volume/</link>
		<comments>http://vpivot.com/2010/11/07/storage-consolidation-or-how-many-vmdks-per-volume/#comments</comments>
		<pubDate>Sun, 07 Nov 2010 08:15:23 +0000</pubDate>
		<dc:creator>drummonds</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[esxtop]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[vcenter]]></category>
		<category><![CDATA[vmkernel]]></category>
		<category><![CDATA[vmworld]]></category>
		<category><![CDATA[vmworld europe]]></category>

		<guid isPermaLink="false">http://vpivot.com/?p=696</guid>
		<description><![CDATA[Part of the performance best practices talk I co-presented at VMworld in San Francisco and Copenhagen focused on answering the question, &#8220;How many virtual machines can be placed on a single VMFS volume?&#8221;  There are a lot of theories as to a best answer.  It will not surprise you to learn that no single consolidation [...]]]></description>
			<content:encoded><![CDATA[<p>Part of the performance best practices talk I co-presented at VMworld in San Francisco and Copenhagen focused on answering the question, &#8220;How many virtual machines can be placed on a single VMFS volume?&#8221;  There are a lot of theories as to a best answer.  It will not surprise you to learn that no single consolidation ratio works in every environment.  Your workloads will influence the maximum consolidation.  But we know enough about how ESX virtualizes storage to provide guidance as to the right storage consolidation ratios.</p>
<p><span id="more-696"></span>First, a little background on ESX&#8217;s storage queues.  There are two relevant queues in ESX.  First is the device queue, which has one instantiation at each HBA for each LUN.  Second is the kernel queue, which handles &#8220;overflowed&#8221; IOs that are waiting to be placed in a full device queue.</p>
<p>For Fibre Channel HBAs, the device queue&#8217;s default length is 32 commands.  It is much larger for iSCSI. No HBA, and thus no device queue, exists for NFS.  A 32 command queue is capable of opening 32 commands at a time.  Obviously, if you double this queue length then the queue will drive twice as many IOs to the volume.  For the rest of this article I will discuss queues in terms of the 32 element Fibre Channel queue.</p>
<p>Because one device queue is instantiated at each HBA for each LUN, a storage reconfiguration at an array can change the number of queues at an ESX host.  Increasing the number of queues increases the total number of IOs that the host can open against the array.  I demonstrated this in my VMworld presentation with the following figure.</p>
<div id="attachment_697" class="wp-caption aligncenter" style="width: 489px"><a href="http://vpivot.com/wp-content/uploads/2010/11/device-queues.png"><img class="size-full wp-image-697" title="Example: Two Storage Configurations" src="http://vpivot.com/wp-content/uploads/2010/11/device-queues.png" alt="Two VMFS volumes means two queues.  One volume one queue." width="479" height="519" /></a><p class="wp-caption-text">Putting two VMs on two volumes results in up to 64 commands being opened from the pair of them at one time.</p></div>
<p>This figure shows the simple difference between two virtual machines sharing a single VMFS volume and two that each get their own.  In the first configuration, only 32 commands can be opened from the host and that single queue is shared between the virtual machines.  In the second configuration, the host can open up 64 total commands and each virtual machine can open up to 32.</p>
<p>Your first reaction to this might be, &#8220;Wow! I should put every VMDK on a VMFS volume of its own!  Then imagine the total throughput that the host could drive!!&#8221;  My first response to this is stop using so many exclamation points.  Nobody likes an overenthusiastic writer.  But second, you should consider that more is not always better.  In fact, I can think of several reasons why you should not reconfigure storage to multiply the number of queues:</p>
<ol>
<li>Allowing a host to open many commands simultaneously may be good for the individual virtual machines but is likely to be dangerous for the shared infrastructure.  This could result in short but extremely intense <a href="http://virtualgeek.typepad.com/virtual_geek/2009/06/vmware-io-queues-micro-bursting-and-multipathing.html">microbursts</a> of IO that could present challenges to your fabric or storage processors.</li>
<li>The device driver (and the HBA) can only open a fixed number of commands depending on the device&#8217;s implementation.  You have to use these sparingly.</li>
<li>The configuration that results in more queues necessarily requires more VMFS volumes which results in a greater administration cost.</li>
</ol>
<p>In addition to reconfiguring storage to increase the number of device queues, you always have the option of increasing the length of ESX&#8217;s device queues.  This is documented on page 71 of the <a href="www.vmware.com/pdf/vsphere4/r40/vsp_40_san_cfg.pdf">Fibre Channel SAN Configuration Guide</a>.  But I will caution you from reconfiguring storage queues, too.  This requires manual changes at every host, produces longer queues that more quickly eat into the fixed number of commands each HBA can support, and increases the possible IO intensity every virtual machine on the host.</p>
<p>And if these detailed explanations are insufficient at explaining why storage queue manipulation is unproductive or even counterproductive towards your goal of optimizing your infrastructure, let me point out that VMware has years of experience at consolidating storage and they chose 32 commands per queue as the right number for most environments.  Trust their experience on this one.</p>
<p>Of course I would be remiss if I did not mention that there are rare times that a storage reconfiguration may help performance.  Redistributing virtual machines across different VMFS volumes or increasing queue depths can correct some issues.  And you can identify occasions where this change may help by a large kernel latency.</p>
<p>As I mentioned above, commands that are waiting for access to a full device queue reside in the kernel queue until a device queue slot becomes available.  On the whole, commands should only spend a fraction of a millisecond in the kernel queue on their way to the device queue.  A kernel queuing time of over one millisecond and certainly over two milliseconds suggests the virtual machines are not having their IO needs served fast enough.</p>
<p>You can see kernel queueing times in the kernel latency statistic reported in esxtop (counter: KAVG) and vCenter (counter: Kernel Latency).  When these latencies consistently average any whole number in milliseconds its time to investigate storage.  But know that slow storage can result in high kernel queuing times.  So, before you go manipulating queues, or reconfiguring your storage layout, make sure your storage is serving IOs in periods deemed acceptible by the storage teams (usually 5-10 ms).</p>
<p>This is kind of a long article by vPivot standards, I know.  But cut me some slack.  <a href="http://virtualgeek.typepad.com/">Chad Sakac</a> bangs out footnotes and parenthetical digressions that are longer than this entry.  This content has already been covered in my VMworld presentations so if you have access to those recordings go listen to Kaushik and I present it there.  But for those of you that were unable to attend I wanted to present this important guidance for your consideration.</p>
]]></content:encoded>
			<wfw:commentRss>http://vpivot.com/2010/11/07/storage-consolidation-or-how-many-vmdks-per-volume/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Performance Troubleshooting Made Simple</title>
		<link>http://vpivot.com/2010/05/10/performance-troubleshooting-made-simple/</link>
		<comments>http://vpivot.com/2010/05/10/performance-troubleshooting-made-simple/#comments</comments>
		<pubDate>Mon, 10 May 2010 13:27:05 +0000</pubDate>
		<dc:creator>drummonds</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[esxtop]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[vcenter]]></category>
		<category><![CDATA[vscsistats]]></category>

		<guid isPermaLink="false">http://vpivot.com/?p=525</guid>
		<description><![CDATA[I have struggled for years to give VMware&#8217;s customers a framework for diagnosing performance problems. People want a simple system to troubleshoot the unknown sources of poorly performing applications. The best attempt at documenting such a flow is Hal Rosenberg&#8217;s document on vSphere performance troubleshooting. Elegant as it may be, Hal&#8217;s document remains complex for [...]]]></description>
			<content:encoded><![CDATA[<p>I have struggled for years to give VMware&#8217;s customers a framework for diagnosing performance problems.  People want a simple system to troubleshoot the unknown sources of poorly performing applications.  The best attempt at documenting such a flow is <a href="http://communities.vmware.com/docs/DOC-10352">Hal Rosenberg&#8217;s document on vSphere performance troubleshooting</a>. Elegant as it may be, Hal&#8217;s document remains complex for the novice VI administrator.  And it is because that document is so complex that performance people maintain their job security.  <img src='http://vpivot.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   But in an effort to further obviate my own job, I will try and generalize the troubleshooting flow to add more clarity to the process.</p>
<p><span id="more-525"></span>The first tool in the VI administrator&#8217;s toolbox should always be vCenter.  Through the vSphere client you can use vCenter&#8217;s performance counters to confirm a problem with any of the four resources (storage, CPU, memory, network).  vCenter&#8217;s 20 second sample window impedes its ability to eliminate a resource as a problem.  This is because a three second spike in any resource will be smoothed and missed over the 20 second window.  But when vCenter confirms a sustained resource bottleneck, it is sure to be the performance problem&#8217;s cause.</p>
<p>If vCenter fails to confirm an obvious performance problem, the administrator must next go to more precise, more time-intensive, and more knowledge-intensive tools such as esxtop and vscsiStats.  esxtop takes more skill and time than vCenter but provides better resolution and more visibility into the system.  vscsiStats is the most time-intensive tool and has limits with ESXi hosts but can uncover a world of detail invisible to esxtop and vCenter.</p>
<p>I estimate each tool&#8217;s chance of identifying a random performance problem as follows:</p>
<ul>
<li>vCenter: used in 90% of performance problems</li>
<li>esxtop: used in 9% of problems</li>
<li>vscsiStats: used 0.9% of the time</li>
</ul>
<p>The remaining 0.1% of the time is when you engage your account team or your local VMware performance expert.</p>
<p>Even within each tool&#8217;s usage there is an hierarchy of investigation: storage, CPU, memory and network.  My experience with troubleshooting has informed this decision.  Storage causes the most problems, then CPU, then memory, and lastly (and rarely) network. After each resource level is inspected in vCenter, a repeat of the inspection should occur on esxtop.  Guest tools may be a third option for memory, CPU, and network but vscsiStats should always be consulted if the performance problem persists.</p>
<p>VMware&#8217;s growing array of performance management tools will change this flow somewhat.  AppSpeed, for instance, adds the ability to make very educated guesses about resource bottlenecks based on inside information into the application execution.  Hyperic can provide in-guest process visibility and Ionix ADM will map application interdependenies to focus the investigation.  But, I will abstain from providing best practices on these tools until I have used them more.  In all cases, however, the fundamental relationship of &#8220;easy first, precise later&#8221; remains.</p>
<p>VMware continues to work towards integrating all of these tools into a single view within the vSphere client.  I expect that integration will improve the success rate of the performance layman in troubleshooting these problems.  But I am sure that even into the distant future performance people will find their jobs secure.</p>
]]></content:encoded>
			<wfw:commentRss>http://vpivot.com/2010/05/10/performance-troubleshooting-made-simple/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>How Many Virtual CPUs Per VM?</title>
		<link>http://vpivot.com/2010/04/30/how-many-virtual-cpus-per-vm/</link>
		<comments>http://vpivot.com/2010/04/30/how-many-virtual-cpus-per-vm/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 04:22:42 +0000</pubDate>
		<dc:creator>drummonds</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cpu]]></category>
		<category><![CDATA[esxtop]]></category>
		<category><![CDATA[scheduler]]></category>
		<category><![CDATA[vcenter]]></category>

		<guid isPermaLink="false">http://vpivot.com/?p=403</guid>
		<description><![CDATA[Virtual machine sizing is a tricky issue for many VMware administrators. It is important to find the right number of virtual CPUs to maximize application performance and minimize wasted CPU cycles. The optimal number of vCPUs can never be easily identified. But I can offer a few suggestions to help get this number right. ESX [...]]]></description>
			<content:encoded><![CDATA[<p>Virtual machine sizing is a tricky issue for many VMware administrators.  It is important to find the right number of virtual CPUs to maximize application performance and minimize wasted CPU cycles.  The optimal number of vCPUs can never be easily identified.  But I can offer a few suggestions to help get this number right.</p>
<p><span id="more-403"></span><br />
ESX must expend CPU cycles to maintain running virtual CPUs whether they are being used by an application or not.  This means that host efficiency drops as more vCPUs are put on the server.  But applications that scale well with CPUs will deliver greater performance when their virtual machines have been given more CPUs.  The administrator must therefore balance the desires of an individual application&#8217;s owner with the needs of the entire cluster&#8217;s of applications.</p>
<p>There are several resources that VI administrators can use to inform their decisions in virtual machine sizing.  I have listed some of them below.</p>
<h2>Bruce Herndon&#8217;s Cost-of-SMP Article</h2>
<p>Last summer the VMmark team&#8217;s Bruce Herndon published <a href="http://blogs.vmware.com/performance/2009/06/measuring-the-cost-of-smp-with-mixed-workloads.html">an article on the cost of SMP</a>.  I summarized his findings in <a href="http://vpivot.com/2009/09/29/four-things-you-should-know-about-esx-4s-scheduler/">a vPivot article I wrote on the ESX 4 scheduler</a>.  There are two key messages that you can take away from these posts to inform your decisions on virtual machine sizing:</p>
<ul>
<li>Over-sized virtual machines only hurt system performance when the server&#8217;s CPUs are saturated.  When utilization is low, unneeded vCPUs only penalize the system&#8217;s CPU utilization, not the applications&#8217; performance.</li>
<li>Unneeded 2-way virtual machines are not very harmful to the environment.  But administrators should be very careful with 4-way virtual machines and larger.</li>
</ul>
<h2>Co-stop and Ready Time</h2>
<p>Ready time indicates a vCPU waiting for an available core when it has work to perform.  Co-scheduling stop time (or co-stop time) indicates a vCPU being paused by the scheduler to allow its sibling vCPUs to catch up.  These two counters can help administrators recognize a certain kind of stress due to limited CPU resources.</p>
<p>Ready time is generally a sign of the unavailability of CPU.  Correction usually requires the administrator reducing work on the host (migrating virtual machines, decreasing vCPU count, etc.) or increasing CPU capacity (more hosts or faster CPUs).  Co-stop time is a sign that the scheduler is allowing vCPUs to develop skew while it runs portions of virtual machines on available cores.  Considerable numbers for these counters are 10% ready time and 3% co-stop time.  There is no guarantee that application performance is suffering if these thresholds are crossed, but a problem may be present.</p>
<p>The important thing about ready time and co-stop time is that they are signs that you are using all of the CPU you have available to you.  This could be a Good Thing.  But it could also be a surprise to you.  When these counters get high it is a good time to start asking yourself if you capacity usage meets your expectations.  If not, you should inspect your virtual machines to be sure that the applications are using the vCPUs you have given them.  If your guest tools show poor in-guest utilization then decrease those VM sizes.  That will free up resources in the cluster for more virtual machines.</p>
<h2>Application Scalability Information</h2>
<p>I wish we lived in a world where every ISV published data showing their applications&#8217; abilities to scale with cores.  Unfortunately for us, many software vendors have for years allowed their customers to assume that each doubling of cores would double the performance of the application.  VMware has chosen to provide some scalability information so our customers know <a href="http://www.vmware.com/pdf/Perf_ESX40_Oracle-eval.pdf">how well</a> or <a href="http://www.vmware.com/files/pdf/consolidating_webapps_vi3_wp.pdf">how poorly</a> applications scale.  But every customer of a software company deserves to have the vendor provide guidance on sizing the server.  And those vendors deserve the right to put these results out on their own products.  Go talk to your ISV to get the information you need to size your virtual machines.</p>
<h2>CPU Usage Calculations and CapacityIQ</h2>
<p>I am belatedly updating this post with a fourth way of identifying oversized virtual machines: mathematical calculation or Capacity IQ.</p>
<p>When a virtual machine consistently uses only a fraction of its vCPU resources it is possible that the virtual machine can be downsized and still deliver the same application performance.  The calculation to determine this is simple: multiply the vCPU count by utilization and round up.  Set the virtual machine&#8217;s vCPU count to the result of that calculation.</p>
<p>If you own CapacityIQ it will make this calculation for you for every virtual machine in your data center.  Here is an screenshot of its recommendations based on virtual machine CPU and memory utilization.  Click for a clearer picture.</p>
<div id="attachment_512" class="wp-caption alignnone" style="width: 310px"><a href="http://vpivot.com/wp-content/uploads/2010/04/capiq_vm_size_recs.png"><img src="http://vpivot.com/wp-content/uploads/2010/04/capiq_vm_size_recs-300x102.png" alt="" title="Capacity IQ Recommending VM Resize" width="300" class="size-medium wp-image-512" /></a><p class="wp-caption-text">CapacityIQ monitors CPU and memory utilization to recommend VM downsizing.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://vpivot.com/2010/04/30/how-many-virtual-cpus-per-vm/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Processor Utilization Calculations</title>
		<link>http://vpivot.com/2010/04/09/processor-utilization-calculations/</link>
		<comments>http://vpivot.com/2010/04/09/processor-utilization-calculations/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 20:10:44 +0000</pubDate>
		<dc:creator>drummonds</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cpu]]></category>
		<category><![CDATA[esxtop]]></category>

		<guid isPermaLink="false">http://vpivot.com/?p=387</guid>
		<description><![CDATA[A little Friday esxtop trivia for the performance massive: did you ever notice your Hyper-Threaded systems have three rows showing CPU utilization in the CPU panel header?  They are labeled &#8220;PCPU USED(%)&#8221;, &#8220;PCPU UTIL(%)&#8221;, and &#8220;CORE UTIL(%)&#8221;.  Here is a screen shot to jog your memory: This capture shows utilization of each physical and logical [...]]]></description>
			<content:encoded><![CDATA[<p>A little Friday esxtop trivia for the performance massive: did you ever notice your Hyper-Threaded systems have three rows showing CPU utilization in the CPU panel header?  They are labeled &#8220;PCPU USED(%)&#8221;, &#8220;PCPU UTIL(%)&#8221;, and &#8220;CORE UTIL(%)&#8221;.  Here is a screen shot to jog your memory:</p>
<p><span id="more-387"></span></p>
<div id="attachment_388" class="wp-caption alignnone" style="width: 568px"><a href="http://vpivot.com/wp-content/uploads/2010/04/esxtop.png"><img class="size-full wp-image-388" title="esxtop Screen Shot" src="http://vpivot.com/wp-content/uploads/2010/04/esxtop.png" alt="esxtop Screen Shot" width="558" height="343" /></a><p class="wp-caption-text">esxtop shows three processor utilization rows.  What do they mean?</p></div>
<p>This capture shows utilization of each physical and logical processor core in the system.  The first row, PCPU USED, provides the percent of each physical core used by the logical core, multiplied  by turbo mode, a processor feature that temporarily increases the core&#8217;s internal clock frequency.  This means two threads running at full, turbo speed might produce a number like 55% for each entry.  It also means that one thread can drive its logical CPU to 100% only if the logical core&#8217;s sibling is unused.  The second row is a straightforward calculation of the utilization of each logical core and the third row similarly shows utilization of physical cores.</p>
<p>Where things get really confusing is when these results are combined into three system-wide, aggregate utilization numbers, as seen by esxtop&#8217;s batch printout.  The three utilization types above generated different utilization numbers.  Unfortunately esxtop&#8217;s batch mode labels these counters slightly differently.  But this table includes both names:</p>
<table id="newspaper-a">
<tbody>
<tr>
<th>esxtop Interactive</th>
<th>esxtop Batch Output (and <a href="http://vpivot.com/2009/10/21/esxtop-analysis-with-esxplot/">esxplot</a>)</th>
<th>Description</th>
<th>Single Core Example</th>
</tr>
<tr>
<td>PCPU USED(%)</td>
<td>% Processor Time</td>
<td>The average of each hardware thread&#8217;s use of the physical core multiplied by turbo mode.</td>
<td>One thread running fully: 108%, two threads running fully: 50%</td>
</tr>
<tr>
<td>PCPU UTIL(%)</td>
<td>% Util Time</td>
<td>Percent utilization of logical cores.</td>
<td>One thread running fully: 50%, two threads running fully: 100%</td>
</tr>
<tr>
<td>CORE UTIL(%)</td>
<td>% Core Util Time</td>
<td>Utilization of the physical core.</td>
<td>One thread running fully: 100%, two threads running fully: 100%</td>
</tr>
</tbody>
</table>
<p>The &#8220;Single Core Example&#8221; column provides an example calculation based on threads running as fast as possible on a single Hyper-Threaded physical core.  There are some interesting observations on these calculations:</p>
<ul>
<li>Even a great number of threads running full bore on an HT system will not produce a PCPU USED(%) number much over 50%.</li>
<li>Two running threads will produce a lower PCPU USED(%) than one running thread.  This is because each thread&#8217;s utilization is calculated against the physical core.  With two running, each is averaging 50% of the core.  But a single thread that is not sharing the core can drive this to 100%.  In both cases the actual number could be a little higher if turbo mode is on.</li>
<li>You must have at least two threads&#8211;one on each logical core&#8211;to drive PCPU UTIL(%) to 100%.</li>
<li>CORE UTIL(%) can be driven to 100% with only one thread per physical core.</li>
</ul>
<p>Look for this content to be rolled into our <a href="http://communities.vmware.com/docs/DOC-9279">esxtop documentation</a> soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://vpivot.com/2010/04/09/processor-utilization-calculations/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>esxplot 1.0 Released</title>
		<link>http://vpivot.com/2010/01/13/esxplot-1-0-released/</link>
		<comments>http://vpivot.com/2010/01/13/esxplot-1-0-released/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 20:12:51 +0000</pubDate>
		<dc:creator>drummonds</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[esxplot]]></category>
		<category><![CDATA[esxtop]]></category>

		<guid isPermaLink="false">http://vpivot.com/?p=233</guid>
		<description><![CDATA[I am pleased to announce that Geoff White has completed the first official release of esxplot, version 1.0.  In an earlier blog article we discussed a beta version of this product and the response from VMware&#8217;s customers has been fantastic.  Those of you that have played with esxplot know its value in assisting with esxtop-based [...]]]></description>
			<content:encoded><![CDATA[<p>I am pleased to announce that Geoff White has completed the first official release of <a href="http://e-scott.net/share/esxplot-1.0.zip">esxplot, version 1.0</a>.  In <a href="http://vpivot.com/2009/10/21/esxtop-analysis-with-esxplot/">an earlier blog article</a> we discussed a beta version of this product and the response from VMware&#8217;s customers has been fantastic.  Those of you that have played with esxplot know its value in assisting with esxtop-based analysis.  I urge everyone to download the new version and give it a try.</p>
<p><span id="more-233"></span>esxplot is best described in the manual pages that Geoff included in the released archive:</p>
<blockquote><p><strong>esxplot</strong> is a GUI application that lets you explore the data collected by  <strong>esxtop</strong> in batch mode. The program takes a single command line argument which is the esxtop batch mode output file.  You can also  simply start  <strong>esxplot</strong> without any arguments, and enter a dataset file via the  <em>File</em> attribute of the menu bar. Esxplot loads the data in this file and presents the metrics as a hierarchical tree where the values are selectable in the left panel. In the right panel, a graph is plotted (value over time) of the selected metric, in this way, you can &#8220;browse&#8221; the contents of these somewhat unwieldy files.</p></blockquote>
<p>Version 1.0 of esxplot features the following enhancements over the beta version:</p>
<ul>
<li>Ability to close one data set and re-open another</li>
<li>Plot 16 graphs</li>
<li>More natural plot colors</li>
<li>Grayed-out tree control entries for metrics that are all zero</li>
<li>“Sticky directories” when exporting a chart or CSV file, future export dialogs will open at the last directory used</li>
<li>Various bug fixes</li>
</ul>
<p>esxplot is currently being hosted on my public share on ftpsite.vmware.com.  But Geoff is diligently working through the process of making this tool available publicly on vmware.com.  I will update you when this happens.</p>
<p>As before, Geoff and I welcome your comments and suggestions as to how to improve this tool.</p>
]]></content:encoded>
			<wfw:commentRss>http://vpivot.com/2010/01/13/esxplot-1-0-released/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Optimizing Memory Utilization</title>
		<link>http://vpivot.com/2010/01/06/optimizing-memory-utilization/</link>
		<comments>http://vpivot.com/2010/01/06/optimizing-memory-utilization/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 21:52:45 +0000</pubDate>
		<dc:creator>drummonds</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[esxtop]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[ssd]]></category>
		<category><![CDATA[swap]]></category>
		<category><![CDATA[vcenter]]></category>

		<guid isPermaLink="false">http://vpivot.com/?p=198</guid>
		<description><![CDATA[My recent series of blog articles have discussed ESX memory management the the performance specter of host swapping. My last article attempts to correct the misconception that VMware recommends against over-commit memory.  In that article I suggested that memory over-commit is requirement in optimizing memory utilization. Today I want to provide a specific example to [...]]]></description>
			<content:encoded><![CDATA[<p>My recent series of blog articles have discussed ESX memory management the the performance specter of host swapping.  My last article attempts to <a href="http://vpivot.com/2010/01/04/misunderstanding-memory-management/">correct the misconception that VMware recommends against over-commit memory</a>.   In that article I suggested that memory over-commit is requirement in optimizing memory utilization. Today I want to provide a specific example to show why this is true.   I am have also included tips for identifying host swapping in your environments.<br />
<span id="more-198"></span></p>
<h2>Understanding the Bottleneck</h2>
<p>Let me show the value of over-commit and danger of swapping by way of an example.  I will choose the following typical values to demonstrate my point:</p>
<ul>
<li>All virtual machines are on a single host which has <strong>32 GB of RAM</strong> installed.</li>
<li>Each virtual machine is sized to <strong>8 GB of RAM</strong>.</li>
<li>Each virtual machine has <strong>25% active memory</strong> (%ACTV in esxtop and &#8220;Active&#8221; in vCenter).</li>
</ul>
<table id="newspaper-a">
<tbody>
<tr>
<th>VM Count</th>
<th>Active Memory in Host</th>
<th>Comments</th>
</tr>
<tr>
<td>3</td>
<td>3 * 8 GB * 25% = <strong>6 GB</strong></td>
<td>Without memory over-commit, <em>only 18% of the host&#8217;s memory is actively in use</em>.   What a waste!</td>
</tr>
<tr>
<td>12</td>
<td>12 * 8 GB * 25% = <strong>24 GB</strong></td>
<td>Memory is over-committed by 200% but only 75% is actively being used.  In this aggressive consolidation <em>virtual machines will run at full speed</em> until usage exceeds 100% of host memory.</td>
</tr>
<tr>
<td>18</td>
<td>18 * 8 GB * 25% = <strong>36 GB</strong>, limited to <strong>32 GB</strong> by host</td>
<td>These virtual machines want 36 GB of RAM but are limited to the 32 GB that is installed on the host.  ESX must swap to allow these machines to run and <em>performance will suffer greatly</em>.</td>
</tr>
</tbody>
</table>
<p>A virtual machine&#8217;s active memory is dictated by the application and its usage.  But the VI admin has complete control over the number of virtual machines in the environment which means host active memory can be influenced by adding or removing virtual machines.  Because virtual machine active memory is always equal to or less than 100% the only way to drive the host active memory to 100% is to over-commit memory.   <em>This is why hypervisors that do not support memory over-commit are simply not viable for data centers where memory optimization is a priority.</em></p>
<h2>Identifying and Correcting the Bottleneck</h2>
<p>The ongoing occurrence of swapping is identified by a non-zero swap rate in either esxtop or vCenter.  In addition to swap rate, esxtop provides a swap wait time in its CPU panel.  When swap rate exceeds hundreds of kilobytes per second or swap wait time exceeds a couple percentage points, it is time for corrective action.</p>
<p>There are three possible solutions to this problem:</p>
<ol>
<li>Balance the virtual machines&#8217; memory usage by moving virtual machines from hosts with higher amounts of memory usage to hosts with lower amount of memory usage.</li>
<li>Run fewer virtual machines.</li>
<li>Buy more memory.</li>
</ol>
<h2>Designing Your Infrastructure to Simplify Memory Management</h2>
<p>Ultimately I owe you a full white paper on memory management to provide a sufficient answer.  But I want to give you two ideas of the tools and techniques that I will be describing when in this future paper.  First, place <a href="http://vpivot.com/2009/12/24/solid-state-disks-and-host-swapping/">host swap files on solid state disk (SSD) stores</a> to improve their performance.  With the right SSD device it may be possible to eliminate swap penalties.  Second, even if SSDs are unavailable consider consolidating multiple swap files onto a single store.  This will make swap rate monitoring very easy but may compound the performance penalties of swapping.</p>
<p>Stay tuned and VMware will provide more documentation on memory management in 2010.</p>
]]></content:encoded>
			<wfw:commentRss>http://vpivot.com/2010/01/06/optimizing-memory-utilization/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Solid State Disks and Host Swapping</title>
		<link>http://vpivot.com/2009/12/24/solid-state-disks-and-host-swapping/</link>
		<comments>http://vpivot.com/2009/12/24/solid-state-disks-and-host-swapping/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 01:15:45 +0000</pubDate>
		<dc:creator>drummonds</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[esxtop]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[ssd]]></category>
		<category><![CDATA[swap]]></category>
		<category><![CDATA[vmkernel]]></category>

		<guid isPermaLink="false">http://vpivot.com/?p=183</guid>
		<description><![CDATA[Recently I have been thinking, talking, and writing about ESX host memory swapping a lot.  ESX swaps memory under the same conditions that traditional operating systems do; the application(s) is using more memory than available on the physical hardware.  Host swapping is an unavoidable consequence of this condition, whether virtualization is present or not. But [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I have been thinking, talking, and <a href="http://vpivot.com/2009/12/23/your-performance-enemy-host-swapping/">writing</a> about ESX host memory swapping a lot.  ESX swaps memory under the same conditions that traditional operating systems do; the application(s) is using more memory than available on the physical hardware.  Host swapping is an unavoidable consequence of this condition, whether virtualization is present or not.</p>
<p><span id="more-183"></span>But <a href="http://communities.vmware.com/blogs/chethank/2009/12/22/using-solidstate-drives-to-improve-performance-of-sql-databases-on-vsphere-hosts-when-memory-is-overcommitted">a recent article</a> by my engineering colleague Chethan Kumar shows an avenue that allows VI admins to aggressively over-commit memory and avoid the catastrophic performance penalty of swapping: use solid state disks to host ESX swap files.</p>
<p>The fundamental problem with host swapping comes from the high latency of traditional disks compared to memory.  Data can be retrieved from memory in nanoseconds but takes milliseconds to fetch from a hard drive.  That means a single 4K memory page takes 100,000 times longer to retrieve if the operating system swapped it out.</p>
<p>The value that solid state disks offer to this problem is exceptional latency, as compared to traditional drives.  The SSD that Chethan used showed microsecond latencies, about 1,000 times lower than physical disks.  This means that  time spent waiting for swap activity* has been decreased to 0.1% of the time spent swapping to physical disks.</p>
<p>The importance of fast swap files is that it enables administrators to more aggressively over-commit memory.  Today our admins rightfully fear the VMs&#8217; aggregate active memory exceeding the available physical memory, which results in swapping.  Today SSD technology in shared storage such as EMC&#8217;s new CLARiiONs allows our admins to cleverly place swap files and drive up memory utilization to previously unheard of levels.  This may enable standard memory overcommitment of 200% or more, with extreme over-commit being much higher than this.</p>
<p>In future versions of ESX we want to automate the usage of SSDs to maximize the use of available memory.  But that&#8217;s a roadmap discussion that I will leave for another day.</p>
<p>(*) This swap wait time has conveniently been added to ESX 4&#8242;s version of esxtop under the counter %SWPWT.  See <a href="http://communities.vmware.com/docs/DOC-9279">Interpreting esxtop Statistics</a> for more information.</p>
]]></content:encoded>
			<wfw:commentRss>http://vpivot.com/2009/12/24/solid-state-disks-and-host-swapping/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>esxtop Analysis With esxplot</title>
		<link>http://vpivot.com/2009/10/21/esxtop-analysis-with-esxplot/</link>
		<comments>http://vpivot.com/2009/10/21/esxtop-analysis-with-esxplot/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 21:02:30 +0000</pubDate>
		<dc:creator>drummonds</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[esxplot]]></category>
		<category><![CDATA[esxtop]]></category>
		<category><![CDATA[perfmon]]></category>

		<guid isPermaLink="false">http://vpivot.com/?p=135</guid>
		<description><![CDATA[esxtop remains a popular performance troubleshooting tool because of its fine granularity, expansive counter list, and support for interactive and off-line analysis. The biggest problem with esxtop is the huge CSV files generated in batch mode.  The output is so large that Excel is unable to open the file and Perfmon can take hours to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://communities.vmware.com/docs/DOC-9279">esxtop</a> remains a popular performance troubleshooting tool because of its fine granularity, expansive counter list, and support for interactive and off-line analysis.  The biggest problem with esxtop is the huge CSV files generated in batch mode.  The output is so large that Excel is unable to open the file and <a href="http://communities.vmware.com/docs/DOC-5100">Perfmon</a> can take hours to do so.  But now we have a better way to manage esxtop batch files.</p>
<p><span id="more-135"></span>A colleague of mine at VMware, Geoff White, wrote a Python-based tool for esxtop batch file analysis.  His tool, dubbed esxplot, provides a graphical interface to the data generated by esxtop&#8217;s batch mode.  esxplot provides search capabilities to find relevant counters, can plot different counters on the same graph, and does not suffer from the size limitations of Excel and Perfmon.</p>
<p>Geoff has graciously provided unsupported access to this tool&#8217;s beta version (version removed &#8212; see update below) for my readers.  Please test esxplot much as possible and comment here with your observations.  We would like to know of any bugs you discover as well as ideas for improvement.</p>
<p>The esxplot package comes with Windows and Ubuntu binaries as well as the Python source.  The binaries will run without need of additional libraries or tools.  But if you decide to use the Python script, as I have done on MacOS, you will need to verify the following:</p>
<ol>
<li>Ensure that you have Python 2.6 or greater, but not Python 3.x.</li>
<li>esxplot uses wxPython, which you can <a href="http://www.wxpython.org/download.php#binaries">download and install from here</a>.</li>
<li>esxplot also requires NumPy, available <a href="http://www.numpy.org/">here</a>.</li>
</ol>
<p>A manual is included in the package but I think you should find the interface simple and intuitive.  Here are a few tips to get you going:</p>
<ul>
<li>Load an esxtop batch file by specifying it on the command line or through File-&gt;Import-&gt;Dataset.</li>
<li>Using the counter navigator in the lower left corner, navigate to the counter of interest.  For instance, to view percent ready you would first expand the host  (use the triangle to the left of the host name), then expand &#8220;Group Cpu (GID:VM)&#8221;, then select &#8220;% Ready&#8221;.  The graph will be displayed on the right.</li>
<li>You can quickly find counters by entering a query search in the middle of the left panel.  This creates a new entry in the counter navigator that contains only counters whose name matches the expression you entered.  For instance, entering &#8220;ready&#8221; will create a counter query that contains all ready times in the batch file.</li>
</ul>
<p>Please let us know what you think of this wonderful tool.</p>
<h2>Update: 1/13/09</h2>
<p>esxplot version 1.0 was released on 1/13/09.  See <a href="http://vpivot.com/2010/01/13/esxplot-1-0-released/">the updated blog article</a> for information on that release and continued discussion on this tool.</p>
]]></content:encoded>
			<wfw:commentRss>http://vpivot.com/2009/10/21/esxtop-analysis-with-esxplot/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Micro-bursting and Storage Performance</title>
		<link>http://vpivot.com/2009/09/23/micro-bursting-and-storage-performance/</link>
		<comments>http://vpivot.com/2009/09/23/micro-bursting-and-storage-performance/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 22:49:55 +0000</pubDate>
		<dc:creator>drummonds</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[esxtop]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[vcenter]]></category>
		<category><![CDATA[vmkernel]]></category>
		<category><![CDATA[vscsistats]]></category>

		<guid isPermaLink="false">http://vpivot.com/?p=47</guid>
		<description><![CDATA[I have been reading Chad Sakac&#8217;s article on IO queues and micro-bursting for months now.  Chad is wicked technical for a manager type and after reading this post a dozen times I think I finally have it internalized.   Let me put my own spin on this tome, embedded in which are several jewels of [...]]]></description>
			<content:encoded><![CDATA[<p>I have been reading <a href="http://virtualgeek.typepad.com/virtual_geek/2009/06/vmware-io-queues-micro-bursting-and-multipathing.html">Chad Sakac&#8217;s article on IO queues and micro-bursting</a> for months now.  Chad is wicked technical for a manager type and after reading this post a dozen times I think I finally have it internalized.   Let me put my own spin on this tome, embedded in which are several jewels of wisdom.</p>
<p><span id="more-47"></span>The article describes a phenomena common to consolidated workloads called micro-bursting.  Micro-bursting occurs in such short periods as to go unnoticed in the sampling window of monitoring tools.  As Chad put it:</p>
<blockquote><p>Remember that every metric has a timescale.   IOps is in seconds.   Disk service time is in ms (5-20ms for traditional disk, about 1ms for EFD).  If an I/O is served from cache, it’s in microseconds.   Switch latencies are in microseconds.    Here, the I/O periods were so short that they filled up the ESX LUN queues instantly, causing a “back-off” effect for the guest.   These were happily serviced by the SAN and the storage array, which had no idea anything bad was going on.</p></blockquote>
<p>When these bursts happen queues overflow, messages backup, and service times briefly sky rocket.  These rapid overflows happen in a fraction of <a href="http://communities.vmware.com/docs/DOC-9279">esxtop</a>&#8216;s multi-second window and <a href="http://communities.vmware.com/docs/DOC-5600">vCenter</a>&#8216;s 20 second window.</p>
<p>So, what buffers are we talking about?  Take a look at Chad&#8217;s hand-drawn picture of the storage path, which is only slightly less complicated than <a href="http://www.advanceusa.org/blog/content/binary/Obamacare%20Diagram.jpg">the Republican view of Obamacare</a>:</p>
<div class="wp-caption alignnone" style="width: 650px"><a href="http://virtualgeek.typepad.com/virtual_geek/2009/06/vmware-io-queues-micro-bursting-and-multipathing.html"><img title="Queues in the Storage Path" src="http://virtualgeek.typepad.com/.a/6a00e552e53bd2883301157135b4ae970b-pi" alt="Chad Sakacs image showing the numerous locations of storage queues in all locations from the VM to the platter." width="640" height="480" /></a><p class="wp-caption-text">Chad Sakac&#39;s image showing the numerous locations of storage queues in all locations from the VM to the platter.</p></div>
<p>If you are at VI admin, you care about the LUN queue in ESX.  ESX creates one of these queues for each HBA+LUN pair.  So, multipathing to a LUN increases the effective LUN queue and using a single HBA to multiple LUNs will guarantee a queue to each LUN.  Instances of this queue will overflow if many VMs on a single server issue commands to a single LUN.  As Chad says:</p>
<blockquote><p>In VMware land – this is usually the fact that the default LUN queue (and corresponding Disk.SchedNumReqOutstanding value) are 32 – which for most use cases is just fine, but when you have a datastore with many small VMs sitting on a single LUN, the possibility of microbursting patterns becomes more likely.</p></blockquote>
<p>So, when will the queues overflow?  Not often:</p>
<blockquote><p>In the example [Vaughn] used, [multi-pathing] would not help materially if there were more than 3 ESX hosts, as it would be a likely case of “underconfigured array” – not host-side queuing.</p></blockquote>
<p>The message here is that there is only a small window of configurations will result in LUN queue overflow: many VMs on very few hosts talking to a common LUN.  This is a perfect use case for <a href="http://communities.vmware.com/docs/DOC-10095">vscsiStats</a>, which I have talked about in various forums now.  vscsiStats avoid sampling windows by recording precise information on every IO.  This means that microburst statistics will not be averaged&#8211;and lost&#8211;across a time period.</p>
<p>Consider the following data I pulled from a sample session on my office system:</p>
<table border="0">
<tbody>
<tr>
<td><strong>Frequency</strong></td>
<td><strong>Histogram Bucket Limit</strong></td>
</tr>
<tr>
<td>2</td>
<td>1</td>
</tr>
<tr>
<td>2</td>
<td>2</td>
</tr>
<tr>
<td>50</td>
<td>4</td>
</tr>
<tr>
<td>879</td>
<td>6</td>
</tr>
<tr>
<td>6588</td>
<td>8</td>
</tr>
<tr>
<td>82830</td>
<td>12</td>
</tr>
<tr>
<td>161362</td>
<td>16</td>
</tr>
<tr>
<td>79802</td>
<td>20</td>
</tr>
<tr>
<td>18080</td>
<td>24</td>
</tr>
<tr>
<td>5377</td>
<td>28</td>
</tr>
<tr>
<td>1997</td>
<td>32</td>
</tr>
<tr>
<td>433</td>
<td>64</td>
</tr>
<tr>
<td>0</td>
<td>64</td>
</tr>
</tbody>
</table>
<p>This table shows the number of outstanding IOs as each new IO arrives in the VMkernel.  The first row means that during the collection period only two IOs arrived to a queue with one outstanding IO.  Row two says that two IOs entered when there was were two outstanding IOs.  The third row states that 50 IOs arrived while the queue had 3-4 IOs.  And so on.</p>
<p>This table represents a fairly healthy access pattern, showing that only 433 out of 357,402 IOs arrived while the queue had 33-64 outstanding IOs (shown on the last row).  With ESX&#8217;s default LUN queue depth at 32, vscsiStats shows that a very small number of IOs arrived to an overflowing queue.</p>
<p>In summary, some storage performance issues appear and disappear so rapidly as to not be visible with sampling based tools, even as fine-grained as esxtop.  As a VI admin you should consider this in your most challenging troubleshooting cases.  And remember to use vscsiStats if all else has failed.</p>
]]></content:encoded>
			<wfw:commentRss>http://vpivot.com/2009/09/23/micro-bursting-and-storage-performance/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

