Performance degradation is seen when using VxVM with Violin SSD storage

Performance degradation is seen when using VxVM with Violin SSD storage

  • Article ID:100007259
  • Last Published:
  • Product(s):InfoScale & Storage Foundation

Problem

When using Violin SSD devices with VxVM, system may experience performance degradation under certain conditions, compared to native performance.

Cause

For some workloads, specifically small random reads, the block-level queuing used by VxVM Volumes can restrict throughput and degrade performance.
This is more visible with newer SSD storage devices, which offer greater I/O throughput capacity.

 

Solution

A tuneable 'vol_use_rq' has been introduced in a hotfix to disable block-level queuing on VxVM volumes.
Disabling the block-level queuing may degrade performance when used with other advanced features such as space-optimized-snapshots, and should be used with caution.

Use the procedure below to disable block-level queuing on VxVM volumes.

1. Install the 51SP1RP2P2HF2 hotfix or later patch for corresponding platform, which supports the disabling of block-level queuing.

2. Set the /etc/sysctl.conf tuneable, appending to the end of the file:

   # Block-level queue for VxVM Volumes. (0 = off, 1 = on)
   vxvm.vxio.vol_use_rq = 0


   By default, the tuneable is set to '1'. Setting it to '0' disables the block-level queuing.

3. Make the tuneable setting active by rebooting the system or running  '# sysctl -p’ command

   Note that if the tunable is set using 'sysctl -p', any imported disk groups will need to be deported and re-imported for the changes to take effect.

4. Verify the tuneable is set correctly:

   # sysctl vxvm.vxio.vol_use_rq
   vxvm.vxio.vol_use_rq = 0


Disabling vol_use_rq tunable, we saturate the Storage Array with more I/O’s.

In environments where it is not possible to disable block-level queuing on VxVM volumes system-wide, below method can be

used to improve throughput for some workloads on per volume basis. This method is not persistent across reboots.

 

1. Get the minor number of the desired volume


# ls -al /dev/vx/dsk/violin_dg/vol01
brw------- 1 root root 199, 62000 Oct 28 14:49 /dev/vx/dsk/violin_dg/vol01

2. Change the settings for the desired volume.

# echo noop > /sys/block/VxVM62000/queue/scheduler
# echo 1024 > /sys/block/VxVM62000/queue/nr_requests
# echo 1 > /sys/block/VxVM62000/queue/nomerges

Note that the 'nomerges' tunable was introduced from RHEL 6.0 and above. 


Applies To

SF 5.1 on all Linux platforms with Violin SSD Storage.

References

Etrack : 2600939

Was this content helpful?