Analysis of StorageTek 9176 Fibre Channel Disk Array

Nancy Johnston

A series of timing tests were run on our StorageTek 9176 fibre disk array. The results of these tests are discussed in this report. Results include showing the original data and comparison graphs. The configuration of the various components and how the tests were conducted are also shown.

Configuration

        StorageTek 9176:
        Fibre disk array
        2 controllers, each configured with a 128 MB cache buffer
        24 72 GB drives (plus 1 hot spare)
        3 Raid Groups were created, all using Raid 5, each with one LUN
        Controller A:  10 disks (614 GB) -- Referred to as "Large" below
        Controller B:  8 disks (478 GB) -- Referred to as "Medium"  below
                       6 disks (341 GB) -- Referred to as "Small" below
        Cache Block Size = 16 KB
        Segment Storage Size = 256 KB
        Enabled Read & Write Caching
        Host System:
        IBM Enterprise Server H70 with Processors running AIX 4.3.3
        2 GB memory
        3 Emulex LP8000 Fibre Channel Adapters, 256 KB TRANSMIT queue size

Assumptions:

Results & Analysis:

As you will see in the following results, two of the most important settings were the storage array cache block size and the number of controllers and buses.
    The StorageTek array is controlled with the "SANtricity Storage Manager" GUI. The GUI is fairly easy to use and had fairly good on-line documentation.
  1. Storage Array Cache Block Size:
    The most critical setting on the STK controller is the cache block size for the storage array. There are two possible choices, 4 KB and 16 KB. The 16 KB cache block size was significantly better. For some dd block sizes tested, performance was almost 3 times faster for single reads. NOTE: Reconfiguration of the STK will reset the block size to the default 4 KB.

  2.  

     


     

  3. Storage Array read ahead cache multiplier:
    Initial read tests of single and multiple reads showed that changing the STK read ahead cache multiplier had a negligible effect. Cache multipliers tested were 8, 32, 1024, and 8192. Little difference in performance was noted and further testing was limited to testing with a read ahead cache multiplier of 8.

  4.  

     


     

  5. dd Block Size and Raid Group Size:
    The dd block size used for reading and writing data was important. As the graph shows, a block size of 64 KB improves performance by 45% over 32. Improvement continued to increased to a block size of 256. These rates are consistent with the 256 KB buffer size of the Emulex adapters.. The graph also compares the differences between the size of the raid groups (6 and 10 disks per raid group). Minimal difference (except for the 512 KB) was noticed.

  6.  

     

    The next graph shows that similar performance was noted on the different dd block sizes for both reading and writing data. Also, write performance is not significantly less than reading data.


     

  7. Multiple Fibre Channel Controller, adapters, and PCI buses:
    As the next series of graphs show, multiple reads and writes to a Raid Group filled the available bandwidth. For example, reads and writes across a single controller peaked at around 100 MB/sec. This limitation was probably governed by the limitation of a fibre channel connection. The slightly better than 100 MB/sec performance was probably due to the fact that our reads and writes were staggered.

  8.  

     

    Further testing shows that we can improve our performance if we concurrently read data from two controllers connected to one PCI bus. Now our peak performance is around 130 MB/sec which is approximately the speed of our PCI bus. Connecting the two controllers to two different PCI buses, peaked our performance at 187 MB/sec.