Informix

Expand all | Collapse all

Kernel AI/O tuning

  • 1.  Kernel AI/O tuning

    Posted 19 days ago
    I have a question about tuning kernel asychronous I/O, specifically on Linux (RHEL 7). For a bit of background, kernel parameter aio-max-nr controls the maximum number of KAIO requests, divided among all CPU VPs. Informix environment variable KAIOON then determines how many request "slots" (my term) each CPU VP is allocated when the engine is started. Once running you can then see from kernel parameter aio-nr how many request slots Informix actually has across all CPU VPs.

    My question is about how to tell whether there are enough slots and when disk I/O might be constrained by waiting for slots to become free. As far as I can see none of the Informix onstats, e.g. '-g iov', '-g ioq' etc., provides any insight into this. Any excessive waiting on the logical log buffer or bufferpools does not directly point to a lack of slots.

    With AIO VPs you can look at how the number of operations tails off as you read down the output from 'onstat -g iov' but this method does not work for KAIO.
    Apart from increasing aio-max-nr and KAIOON and doing some testing, has anyone got any suggestions?

    ------------------------------
    Thomas Sherlock
    ------------------------------


  • 2.  RE: Kernel AI/O tuning

    Posted 19 days ago
    Thomas:

    I would look at the output from onstat -g ioh during a peak hour and look for chunks with high service times. Also look at the flush rate of logical and physical logs and dirty data during checkpoints as reported on the onstat -g ckp report during peak periods. If the flush rates fall off when the number of pages to be flushed (when the engine is being most efficient about how it flushes) that's a good sign that either there are not enough KAIO resources available or the disks are slow. You can eliminate the latter if you know the array's write throughput and compare that to the flush rate as well. If you can't flush up to the array's capabilities then it is a resource issue. If you are flushing at or slightly above the array's capabilities then you need a faster array.

    ------------------------------
    Art S. Kagel, President and Principal Consultant
    ASK Database Management Corp.
    www.askdbmgt.com
    ------------------------------



  • 3.  RE: Kernel AI/O tuning

    Posted 12 days ago
    Thanks Art, I'm going to take it there's no more direct instrumentation then.


    ------------------------------
    Thomas Sherlock
    ------------------------------



  • 4.  RE: Kernel AI/O tuning

    Posted 12 days ago
    Nothing of which I am aware.

    Art

    ------------------------------
    Art S. Kagel, President and Principal Consultant
    ASK Database Management Corp.
    www.askdbmgt.com
    ------------------------------