Enabling Intermediate Buffering improves throughput performance with writing to the write cache drive and can improve target device performance as well. Refer to Buffered Services for additional information on buffered file I/O services.
The following are some points to consider before implementing Intermediate Buffering:
The use of Intermediate Buffering should be tested with a tool such as IOMETER in a development environment to evaluate performance and stability before enabling the option in a production environment.
Enabling Intermediate Buffering does not increase write cache utilization or increase the amount of data written to the write cache.
There is no internal algorithm that automatically enables or disables Intermediate Buffering. It is OFF by default and enabled through registry.
Limited testing is performed for Intermediate Buffering on Windows 8/8.1 and Windows Server 2012/R2 platforms. This feature should be used with caution on these newer platforms.
Do not implement Intermediate Buffering on workloads hosted on Hyper-V. Citrix has noticed that this degrades performance on several occasions.
The write cache "RAM cache with overflow to disk" option introduced in PVS 7.1 and later will likely replace this feature in a long-term. "RAM cache with overflow to disk" is controlled by CVhdBus which is the PVS miniport driver that uses SCSI-like commands for accessing the target devices virtual disk and not BNIStack , which controls the legacy local cache. The BNIStack is the Target Device's network driver that performs the PVS protocol over UDP and is responsible for communication between the Target Device and the PVS Server.
Caution! Refer to the Disclaimer at the end of this article before using Registry Editor.
To enable Intermediate Buffering, complete the following procedure:
Change the vDisk image on the target device to Private Mode and boot the device.
In the registry editor, navigate to the following key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BNIStack\Parameters
Create a DWORD value named WcHDNoIntermediateBuffering.
Assign the data value 2 to enable intermediate buffering:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BNIStack\Parameters
Value name: WcHDNoIntermediateBuffering
Value type: REG_DWORD
Value data: 2
The following table lists all possible data values for Intermediate Buffering:
Value |
Action |
---|---|
|
|
|
|
|
|
Power down the target device.
Change the vDisk image to Standard Mode.