Poor performance while deploying virtual machines over the network
search cancel

Poor performance while deploying virtual machines over the network

book

Article ID: 311469

calendar_today

Updated On:

Products

VMware Aria Suite VMware Cloud Director VMware vSphere ESXi

Issue/Introduction

Symptoms:
When attempting to deploy virtual machines over the network (where the virtual machines are not located on the shared storage), you experience these symptoms:
  • The deployment takes an excessive amount of time. This also includes deployment from vRealize Automation (formerly known as vCloud Automation Center) as well as vCloud Director (vCD).
  • Deploying virtual machines from a shared storage completes much sooner.
  • In the /var/log/vmkernel.log log file, you see Buffer Cache exhaustion errors similar to:

    BC: 3115: Blocking due to no free buffers. nDirty = 62 nWaiters = 1


Environment

VMware vCloud Automation Center for Desktop 5.2.x
VMware vSphere ESXi 5.0
VMware Cloud Director 5.1.x
VMware vCloud Automation Center for Desktop 6.0.x
VMware vCloud Automation Center for Server 5.1.x
VMware vCloud Automation Center for Server 5.2.x
VMware vSphere ESXi 5.1
VMware Cloud Director 5.5.x
VMware vCloud Automation Center for Server 6.0.x
VMware vCloud Automation Center for Desktop 5.1.x

Cause

When deploying virtual machines located on a non-shared storage to other ESXi hosts, the deployment occurs across the network (using NFC/hostd). This mayhave an impact on the file system buffer cache and exhaust the number of buffers, reporting significant delay in deployment time.

Resolution

To prevent this issue, relocate the virtual machine templates to a shared storage that is presented to all ESXi hosts.

To workaround this issue, increase the number of buffers and reduce the flush interval.

Note: ESXi 5.0 hosts must be running Update 2 or later, prior to applying this workaround.
To increase the number of buffers and reduce the flush interval:
  1. Log in to the Local Tech Support Mode console of the ESXi host. For more information, see Using Tech Support Mode in ESXi 4.1 and ESXi 5.x (1017910).
  2. To increase the number of buffers from 2048 to 4096, run this command:

    # esxcfg-advcfg -s 32768 /BufferCache/MaxCapacity

    Note: If the above change does not result in a significant improvement, try reducing the flush interval.

  3. To reduce the Buffer Cache Flush interval from 30 seconds to 20 seconds, run this command:

    # esxcfg-advcfg -s 20000 /BufferCache/FlushInterval
Notes:
  • You may continue to experience some buffer cache exhaustion on large virtual machines, but the frequency is usually much lower.
  • A host reboot is not required to increase the buffers, but to decrease the buffers to a lower value or to the default value, a host reboot is necessary for the changes to take effect.


Additional Information


ESXi/ESX 4.x and ESXi 5.x/6.0 shutdown and reboot commands
Using Tech Support Mode in ESXi 4.1, ESXi 5.x, and ESXi 6.x
Editing files on an ESX host using vi or nano
ネットワーク上で仮想マシンをデプロイする時のパフォーマンスが低下する
通过网络部署虚拟机时性能下降