IBM Support

How to use Unix dd command to monitor the reading performance of a disk device

Troubleshooting


Problem

This document describes how to use dd to monitor the reading performance of a disk device.

Resolving The Problem


INTRODUCTION

You may need to monitor the disk performance of a system in order to make sure that there are no performance issues at a disk device level which could be affecting the performance of the IBM® Informix® Dynamic Server™ (IDS) database server. You can use the Unix dd command to monitor the reading performance of a disk device.


STEPS

Try three different tests. Try 100Mb, 1Gb and 2Gb tests. These tests should be run against raw devices so that the UNIX® file system buffer will not affect the measurements. These tests should also be done when there is no IDS activity (or any other) that will utilize the same devices.


Syntax:

    dd if=input_file of=ouput_file bs=block_size count=number_of_blocks
      input_file
        The name of the input file you want dd the read from. You have to create a file in you file system with at least the size of the dd test you want to perform.
      ouput_file
        The name of the output file you want dd write the input_file to. Choose a device that is not being used by IDS.
      block_size
        The size of the block you want dd to use. (Use 2k for most IBM Informix systems, 4k for AIX and Windows).
      count
        The number of blocks you want dd to read.


Example:
    timex dd if=/dev/rdsk/c0t2d0s1 of=/dev/null bs=2k count=50000
    50000+0 records in
    50000+0 records out

    real       40.67
    user        0.40

    timex dd if=/dev/rdsk/c0t2d0s1 of=/dev/null bs=2k count=500000
    500000+0 records in
    500000+0 records out

    real     6:45.69
    user        2.31
    sys        20.68

    timex dd if=/dev/rdsk/c0t2d0s1 of=/dev/null bs=2k count=1000000
    1000000+0 records in
    1000000+0 records out

    real    13:38.74
    user        5.04
    sys        39.23
    Analyze the data:

    The first test - Divide 100Mb by 40 seconds and you will have 2.5Mb/s.

    The second test - Divide 1Gb by 444 seconds and you will have 2.5Mb/s.

    The third test - Divide 2Gb by 818 seconds and you will have 2.4Mb/s.

    The average reading throughput for the three tests is 2.5Mb/s.


    Compare these numbers with all your devices to make sure you do not have a bad disk or a configuration problem. You should also compare your numbers against the specifications of the device.
[{"Product":{"code":"SSGU8G","label":"Informix Servers"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Not Applicable","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF025","label":"Platform Independent"},{"code":"PF008","label":"DYNIX\/ptx"},{"code":"PF010","label":"HP-UX"},{"code":"PF015","label":"IRIX"},{"code":"PF016","label":"Linux"},{"code":"PF026","label":"Reliant UNIX"},{"code":"PF027","label":"Solaris"}],"Version":"7.2;7.3;9.2;9.3;9.4;10.0","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

More support for:
Informix Servers

Software version:
7.2, 7.3, 9.2, 9.3, 9.4, 10.0

Operating system(s):
AIX, DYNIX/ptx, HP-UX, IRIX, Linux, Reliant UNIX, Solaris

Document number:
335417

Modified date:
16 June 2018

UID

swg21154280

Manage My Notification Subscriptions