Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


ioping and munin
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

ioping and munin

marrcomarrco Member
edited February 2012 in General

I guess i'm not the only one using munin here, so i hope someone already developed (or found somewhere) a ioping plugin and is willing to share it.

Basic funcionality is enough. ie. tracking ioping -R / , ioping -RL / and ioping / but suggestions are welcome.

Additionally i'd love to hear suggestions from VPS providers (or the new LEAs, if they are competent) about a set of 'fair' and safe values to run the test. Especially because munin plugins are meant to be run every 5 minutes.

tia !

Comments

  • There WAS one on Munin's Plugin Exchange, but that's dead. So you may be able to find it via another method, like Google cache or archive.org or something.

    Thanked by 1marrco
  • I've seen a few threads elsewhere, I think on Ubuntu forums where some folks were talking about making one, but I don't remember seeing the finished product anywhere.

    Thanked by 1marrco
  • @Damian4IPXcore now you can get munin plugins here: https://github.com/munin-monitoring/contrib/tree/master/plugins/other but i didn't find the one you're talking about. Maybe it was faulty. Did a few search on google and wasn't able to find one.

    it shouldn't be to difficult to write such a plugin, since ioping can output raw data too ie. ioping -RL / -p 300

    what i'm mostly interested is to find 3 ioping test that :
    -) give significative results about i/o performance
    -) can be run via munin node (every 5 minutes) without impacting node performance
    -) can be run both on xen and OpenVZ

  • @marrco: I will work on making one, as it would be useful to us, too. One of your points is:

    -) can be run both on xen and OpenVZ

    We don't have any xen environments; is there some kind of unusual requirement here?

  • I don't think so, but i'm definitely not a virtualization expert, so i don't know if the same ioping parameters should be used for different virtualization methods or have different impact.
    I have openvz, xen and vserver vps, count on me if you need any help, i wanted to code that plugin too, but i'm still researching for correct parameters and a host willing to check node impact of such plugin.

  • How do you typically run ioping on your Xen vps? If you don't use any command switches that are different than on openvz, then I'm thinking it shouldn't matter.

  • ioping -R / ,ioping -RL / and ioping / work on Xen, OpenVZ and vServer, so i was thinking about using something like ioping -RL / -c 50 -p 50 not to impact on the server node, effectively limiting to just 50 probes. and running the 3 tests plotting the avg values over time.

    on Xen : ioping -RL / -c 50 -p 50
    495 9437 165895 31987

    on vServer : ioping -RL / -c 50 -p 50
    1150 15227 586515 82013

  • DamianDamian Member
    edited February 2012

    That's a good test, in terms of not impacting performance, but i'm not sure what these numbers it's returning mean. I'm on the go, so I'm not able to look at the source code at this time.

  • ioping uses 4k blocks, I don't think that will impact the performance of the server node

  • @Damian4IPXcore i guess are the stander min/avg/max/mdev (just *1000) ie.

    ioping -RL / -c 50  -p 50
    584 12047 199503 35779
    ioping -RL / -c 50
    --- / (ext3 /dev/xvda1) ioping statistics ---
    50 requests completed in 636.8 ms, 80 iops, 20.0 mb/s
    min/avg/max/mdev = 0.7/12.5/385.7/55.3 ms

    so i guess all we need to plot is avg (for each of the 3 tests shown here http://code.google.com/p/ioping/), but i suggest to keep -c to a very low level (like 50, maybe even less) so over time we also get an idea of mdev. I don't want an host with a fast avg, i need one that's never stuck, but delivers constant performance over time, so mdev is important.

  • @marrco
    avg and mdev also, because it represents jittering, like in network stuff.

  • @yomero my idea is that is we keep -c small (it could even be 1, but i guess 50 can be a fair value) there is no need to plot mdev, because you see it on munin graphic.
    Tracking 6 values (the 3 avg + 3 mdev) can result in a messy graph, so i was wondering if we can just plot the 3 avg, and spot 'by sight' mdev. A flat AVG plot means low mdev, while scattered values mean a high (bad) mdev.

    at least that's my idea, but since i didn't write the plugin and tried to plot the 3 o 6 values i simply can't tell if my idea is right. But of course i agree with you mdev is important.

  • marrcomarrco Member
    edited February 2012

    @Damian4IPXcore here is version 0.02, just a sample, not a real plugin, but i'ts working.
    in plugin-conf.d/munin-node you have to add

    [iop] user root

    additionally the values plotted are in (i guess) microseconds, so it's till to fix that. But at least it's plotting a nice graph.

    `#!/bin/sh

    case $1 in
    config)
    cat <<'EOM'
    graph_args --base 1000 -l 0
    graph_title Ioping stats
    graph_vlabel ms
    iolatency.label latency
    seekrate.label seekrate
    sequentialspeed.label sequentialspeed
    EOM
    exit 0;;
    esac

    echo -n "iolatency.value "
    /usr/local/bin/ioping -q / -c 5 -p 5 | cut -d' ' -f2
    echo -n "seekrate.value "
    /usr/local/bin/ioping -R / -c 50 -p 50 | cut -d' ' -f2
    echo -n "sequentialspeed.value "
    /usr/local/bin/ioping -RL / -c 50 -p 50 | cut -d' ' -f2`

Sign In or Register to comment.