Advice for tuning Veritas File System on AIX

Article:HOWTO65674  |  Created: 2012-01-10  |  Updated: 2012-04-16  |  Article URL http://www.symantec.com/docs/HOWTO65674
Article Type
How To

Product(s)

Environment

Subject


Advice for tuning Veritas File System on AIX

The following list provides advice for tuning Veritas File System (VxFS) on AIX:

  • Tuning the number of Page Device Tables (PDTs)

    Symantec recommends that you reduce the number of PDTs by either 50% or 75%. For example, if the autotuned value is 64 PDTs, then reduce the value to 16 PDTs. To tune the number of PDT, all VxFS file systems must be unmounted. The number of PDTs should never be tuned to a drastically lower number as this can lead to a contention over the PDT lock.

    Set the num_pdt tunable to tune the number of PDTs:

    # vxtunefs -D num_pdt=PDTs

    See the vxtunefs (1M) manual page.

    Warning:

    Do not tune the number of PDTs to 1.

  • Tuning the number of VMM buffers

    Symantec recommends that you increase the number of VxFS VMM buffers by a large amount. You can assume that each VMM buffer structure and its related objects use a little less than 768 bytes. Symantec recommends that you tune the value to be lower of the two upper limits of either 2-GB worth of VMM buffers at 768 bytes each, or up to ~1% of the system memory size.

    The maximum number of VMM buffers that can be tuned is now up to 1000% of the autotuned value, whereas previously the value could only be increased by 100% of the maximum. 2-GB worth of VMM buffers at 768 bytes each is approximately 2.75 million VMM buffers. However, if 1% of the physical memory is less than 2 GB, then you should tune the value to 1% of the physical memory. You might want to tune the value to higher than 1% of the physical memory, but do not tune the value to higher than 2.75 million VMM buffers.

    For example, a system with 64 GB of physical memory will have the number of VMM buffers auto-tuned to around 162,000. The auto-tuned number is far less than the 1% of physical memory recommended. If we want to increase the number of VMM buffers to utilize 1% of the 64GB (which is 0.64GB), we can use the following calculation:

    1% of 64GB / 768 bytes per VMM buffer = 64 * 1024 * 1024 * 1024 bytes * 1% / 768 bytes per VMM buffer

    = 894784 VMM buffers.

    To increase the number of VMM buffers to the above value, we need to increase it to 894784 / 162000 = 5.52 times of the current value.

    Using the vxtunefs -b commaned, the percentage increase should be (5.52 -1) * 100% = 452%:

    # vxtunefs -b 452

    If we specify vxtunefs -b 100, that will double the current value. So if we specify 452, it will increase the value to 5.52 times of the current value.

  • Counters that show a lack of VMM buffers per PDT

    Rapidly increasing or high values of the following counters obtained through the vxfsstat command show a lack of VMM buffers per PDT:

    • vxi_putpage_dirty_partial

      This counter is incremented when a write I/O VMM buffer reservation request gets satisfied only in part.

    • vxi_pgalloc2_async_partial

      This counter is incremented when the number of VMM buffers that we want to reserve is less than the number that are currently available for reservation. In this case, we trim the size of the asynchronous read I/O to match the number of VMM buffers that were reserved.

    • vxi_putpagedirty_eagain

      This counter is incremented when a VMM buffer reservation request cannot be satisfied in full or in part

    • vxi_pagealloc2_eagain

      This counter is incremented when the are no VMM buffers available for reservation, except the last 32. The current asynchronous read I/O is not performed when this counter is incremented.

    • vxi_pdt_sleep_cnt

      This counter indicates the number of threads that have had to sleep waiting for VMM buffers to be unreserved on the PDT. If the number of VMM buffers we wanted to reserve is not currently available, we increment this counter according to the PDT we are utilizing, and then sleep in a queue waiting for the VMM buffers to be unreserved.

    • vxi_pdt_wake_cnt

      This counter indicates the number of threads that have been woken up after sleeping. Usually, the vxi_pdt_sleep_cnt and vxi_pdt_wake_cnt have the same value. But in a situation when the threads are currently sleeping, the vxi_pdt_sleep_cnt might be a higher value than the vxi_pdt_wake_cnt.

  • On AIX TLS and VxFS releases that support D_REFUND, you do not need to tune the number of PDTs and VMM buffers.

    If drefund_enable is set to 1, then D_REFUND mode is enabled and you do not need to tune the number of PDTs nor the number of VMM buffers. The VMM buffers are dynamically grown and shrunk as required. The D_REFUND mode is supported only on 6.1 TL2 and later releases. The default drefund_enable value on 5.3 TL2 is 0 and the default drefund_enable value on 6.1 TL2 is 1.

    The correct D_REFUND mode operation requires certain APARs to be installed.

    For more information on the necessary APARs, see the Veritas Storage Foundation Release Notes.

    VxFS keeps track of this D_REFUND support internally. VxFS operates in D_REFUND mode only if the drefund_enable value is 1 and the operating system supports the D_REFUND mode. The operating system supports the D_REFUND mode if the D_REFUND supported value is 1. You can check the value of D_REFUND supported by running the vxtunefs -D print command.

    Set the drefund_enable tunable to enable or disable D_REFUND mode:

    # vxtunefs -D drefund_enable={0|1}

    See the vxtunefs (1M) manual page.

    Note:

    If the D_REFUND mode is disabled, then you must tune the number of PDTs and the number of VMM buffers.

  • During poor performance, collect the following output so that Symantec can recommend tuning:

    AIX VMM statistics:

    # vmstat -Ilt 1
    # topas
    # vmo -a
    # vmstat -v

    Capture the vmstat -v output every second.

    VxFS statistics:

    # /opt/VRTS/bin/vxtunefs -p /mnt1
    # /opt/VRTS/bin/vxtunefs -D print
    # /opt/VRTS/bin/vxfsstat -w /tmp/vxfsstat.out -t 1 /mnt1
    # /opt/VRTS/bin/vxtrace -d /tmp/vxtrace.out -g dg1 vol1

    VxVM statistics:

    # vxstat -g dgname -r
    # vxstat -g dgname -vps -i 1

See About tuning Veritas File System on AIX


Legacy ID



v68049143_v69093931


Article URL http://www.symantec.com/docs/HOWTO65674


Terms of use for this information are found in Legal Notices