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.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
ioping and munin
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.
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.
@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 /
andioping /
work on Xen, OpenVZ and vServer, so i was thinking about using something likeioping -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
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.
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.
@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`