All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
OpenVZ iops can be watched, monitored?
Hello,
my aim is to discover if certain OpenVZ container/VPS is hitting its IOPS limit (not IO limit)
--iopslimit iops
Assigns IOPS limit for a container, in number of input/output operations per second. Value is a number or a literal string unlimited. Value of 0 means
"unlimited". By default a container has no IOPS limit.
there was already a question on this topic, but i think the advises that was posted there (munin, iostat) is not what i am looking for.
munin too complicated and heavy for my tiny OpenVZ VPS.
iostat -xd 1 2 shows utilization on hardware not OVZ VPS
iotop works, but shows IO and in %, not iops/tps
cat /proc/bc/CTID/ioacct
shows:
read 4888043520
write 7090393088
dirty 7364214784
cancel 273813504
missed 0
syncs_total 2
fsyncs_total 882
fdatasyncs_total 6978
range_syncs_total 0
syncs_active 0
fsyncs_active 0
fdatasyncs_active 0
range_syncs_active 0
io_pbs 2
fuse_requests 0
fuse_bytes 0
i was curious if io_bps can be compared to IOPS made by the VPS
When i was running "fio" (flexible i/o tester), the io_bps was constantly growing until around 32000, then dropped down, and again growing.
My VPS has 30 IOPS set by vzctl (vzctl set CTID --iopslimit 30) so that value seems related, but it is just a guess. --iolimit i have 5MB/s
When i was running this command:
echo "---Random READ---";sync;echo 3 > /proc/sys/vm/drop_caches 2>/dev/null;fio --bs=4k --size=128m --direct=1 --runtime=10 --rw=randread --numjobs=3 --group_reporting --time_based --name=128m;echo "\n---Random WRITE:---";sync;echo 3 > /proc/sys/vm/drop_caches 2>/dev/null;fio --bs=4k --size=128m --direct=1 --runtime=10 --rw=randwrite --numjobs=3 --group_reporting --time_based --name=128m;
output indicated roughly 30 IOPS reading and roughly 3000 IOPS writing:
READING
Jobs: 3 (f=3): [rrr] [100.0% done] [116KB/0KB/0KB /s] [29/0/0 iops] [eta 00m:00s]
128m: (groupid=0, jobs=3): err= 0: pid=9074: Tue May 30 03:11:01 2017
read : io=1404.0KB, bw=141994B/s, iops=34, runt= 10125msec
bw (KB /s): min= 12, max= 134, per=33.52%, avg=46.25, stdev=24.27
WRITING
Jobs: 3 (f=3): [www] [100.0% done] [0KB/10228KB/0KB /s] [0/2557/0 iops] [eta 00m:00s]
128m: (groupid=0, jobs=3): err= 0: pid=9119: Tue May 30 03:11:11 2017
write: io=122712KB, bw=12268KB/s, iops=3066, runt= 10003msec
...
bw (KB /s): min= 646, max=18405, per=32.55%, avg=3992.96, stdev=2895.79
Is there any better command or tweak that command to show only IOPS?
or what is the way to get the number of the disk operations VPS is doing, i have host node access too, openvz kernel 2.6.32. Thank You
Comments
but fio is only io tester not io monitor
https://docs.openvz.org/openvz_users_guide.webhelp/_configuring_the_number_of_i_o_operations_per_second.html
@time4vps thx, but the linked article just wasted my time. I already know how to set IOPS limit, but not how to monitor current per VPS utilization.
I can use:
and it shows values around 45 iops in my VPS (VPS has --iopslimit set to 30)
when doing on non limited VPS, iops is around 2000
(7.2K RPM HDD)
top value i seen was 2600 so if value returned by fio is 1300, it can mean VPS IOPS is utilized by 50%? If anyone can narrow that, have better/quicker/simpler command for OVZ IOPS, please kindly share. Thx