Citrix MCS Storage Driver Test

Machine Creation Services (MCS) Storage Optimization (MCSIO), is a new feature within MCS provisioning and was introduced in XenApp and XenDesktop 7.9.

MCSIO reduces I/O load through a two-tier caching system. An in-memory cache, known as the “temporary memory cache,” is used as the first storage tier. If the in-memory cache fills up, subsequent writes will be cached using an additional disk attached to the provisioned machine as the second tier - this is known as the “temporary disk cache.” To achieve this, MCSIO provisioned machines have an additional MCSIO driver to intercept and manage IO operations.

For improved I/O performance, both the storage tiers should be adequately sized, so that the likelihood of writes directly reaching the system disk reduces considerably. If the caches are not sized right, then they may soon run out of space for writes, causing the driver to direct writes to the system disk. This in turn will reduce cache hits, increase direct disk accesses, and thus, significantly degrade I/O performance. To avoid this, administrators should continuously monitor the I/O load on the MCSIO driver, understand how the driver uses the in-memory and disk cache for managing these I/O operations, and make sure that the caches are sized right to support these operations. This is where the Citrix MCS Storage Driver test helps!

This test tracks the I/O requests to the driver and reports the rate at which the driver reads from or writes into each of the caches and he system disks in order to process these requests. This way, the test reveals whether/not the caches are doing a good job of preventing direct disk accesses. Additionally, the test also closely monitors how the memory in the in-memory cache and the disk space in the cached disk is utilized, and proactively alerts administrators to any potential resource crunch in the caches. This way, the test provides useful sizing pointers to administrators.

Target of the test : Any Citrix server

Agent deploying the test : An internal agent

Outputs of the test : One set of results for every server being monitored

Configurable parameters for the test
  1. TEST PERIOD – How often should the test be executed
  2. Host – The host for which the test is to be configured
  3. Port – Refers to the port used by the Citrix server
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Cache memory data reads:

Indicates the rate at which data is read from the in-memory cache.

KB/Sec

 

Cache memory data writes:

Indicates the rate at which data is written to the in-memory cache.

KB/Sec

A steady drop in the value of this measure could indicate a writing bottleneck. One of the reasons for this could be the lack of enough memory. Check the value of the Cache memory utilization measure to determine whether/not there is a memory crunch.

Cache memory data reads and writes:

Indicates the rate at which data is written to and read from the in-memory cache.

KB/Sec

A steady drop in the value of this measure is indicative of an I/O bottleneck.

Cache memory reads:

Indicates the rate at which read operations are performed on the in-memory cache.

Reads/Sec

 

Cache memory writes:

Indicates the rate at which write operations are performed on the in-memory cache.

Writes/Sec

 

Cache memory IOPS:

Indicates the rate at which read and write operations are performed on the in-memory cache.

Operations/Sec

 

Cache memory target size:

Indicates the amount of memory that the MCS storage driver will aim to use.

MB

 

Cache memory used:

Indicates the amount of memory that the driver has actually used.

MB

 

Cache memory free:

Indicates the amount of memory that is unused.

MB

 

Cache memory utilization:

Indicates the percentage of memory that the driver has utilized.

Percent

A value close to 100% is a cause for concern as it indicates that the in-memory cache is rapidly running out of memory. You may want to allocate more RAM to the cache to make sure that the writes do not spill over to the cache disk.

Cache disk data reads:

Indicates the rate at which data is read from the cache disk.

KB/Sec

 

Cache disk data writes:

Indicates the rate at which data is written to the cache disk.

KB/Sec

A steady drop in the value of this measure could indicate a writing bottleneck. One of the reasons for this could be the lack of enough disk space in the cache disk. Check the value of the Cache disk utilization measure to determine whether/not there is a space crunch.

Cache disk data reads and writes:

Indicates the rate at which data is written to and read from the cache disk.

KB/Sec

A steady drop in the value of this measure is indicative of an I/O bottleneck.

Cache disk reads:

Indicates the rate at which read operations are performed on the cache disk.

Reads/Sec

 

Cache disk writes:

Indicates the rate at which write operations are performed on the cache disk.

Writes/Sec

 

Cache disk IOPS:

Indicates the rate at which read and write operations are performed on the cache disk.

Operations/Sec

 

Cache disk size:

Indicates the current size of the cache disk.

MB

 

Cache disk used:

Indicates the amount of space that the driver has used in the cache disk.

MB

 

Cache disk free:

Indicates the amount of space that is unused in the cache disk.

MB

 

Cache disk utilization:

Indicates the percentage of space used in the cache disk.

Percent

A value close to 100% is a cause for concern as it indicates that the cache disk is running out of disk space. You may want to expand the capacity of the cache disk to make sure that the writes do not spill over to the system disks.

Storage driver read requests:

Indicates the number of read requests that were received by the MCS storage driver since boot.

Number

 

Storage driver write requests:

Indicates the number of write requests that were received by the MCS storage driver since boot.

Number

 

Storage driver read and write requests:

Indicates the number of read and write requests that were received by the MCS storage driver since boot.

Number

This is a good indicator of the I/O load on the driver.

System disk data reads:

Indicates the rate at which data is read from the system disks.

KB/Sec

 

System disk data writes:

Indicates the rate at which data is written to the system disks.

KB/Sec

 

System disk data reads and writes:

Indicates the rate at which data is written to and read from the system disks.

KB/Sec

 

System disk reads:

Indicates the rate at which reads are performed from the system disks.

Reads/Sec

 

System disk writes:

Indicates the rate at which writes are performed into the system disks.

Writes/Sec

 

System disk IOPS:

Indicates the rate at which I/O operations are performed on system disks.

Operations/Sec

A zero value is desired for this measure.