Disk IO Tracker
-
Cloudron tracks CPU usage, Memory usage, Disk space over time.
It would be great to also add Disk IO tracking to see patterns of when IO availability is high and low and to evaluate ones hosting performance setup .
Adding another graph that periodically tests the IO of the system at a set+randomized offset time would be an easy thing to add.
Running something like dd or pulling those stats from an io tool would work. For ex:
dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync ; rm /tmp/test1.img
Great stuff to have when troubleshooting performance issues.
Like Backblaze stats but for Cloudron.
-
It seems we can get some block I/O stats per container via docker - https://docs.docker.com/config/containers/runmetrics/#metrics-from-cgroups-memory-cpu-block-io . When we started we didn't have docker stats, but we should look into moving from collectd/graphite to using docker's built-in stats probably. But it looks like we have to maintain the db stats over time, if so then it's not worth moving.
-
@girish I think these are two different things..
One, overall system IO performance tracking
Two, per container App IO performance tracking
Both of these would be more efficient with a time series DB, and we don't have one on Cloudron.
Once there is, new integrations of TS data would be quick, and I can foresee that need very soon as we get to multi-cloudron functionality.
-
@robi said in Disk IO Tracker:
@girish I think these are two different things..
One, overall system IO performance tracking
Two, per container App IO performance trackingI holeheartedly support the effort. Both of these could be very interesting to have.
However, I personally would be much more interested in the second one : seeing how much IO an app is using.
Also, for the first one, I do not know of the best-practices around it : just trying to periodically write stuff and checking the performance, as suggested, would not be great IMO, as it would 1/ be influenced by what's already running on the system 2/ wear out SSDs for little benefit
-
@mehdi said in Disk IO Tracker:
just trying to periodically write stuff and checking the performance, as suggested, would not be great IMO, as it would 1/ be influenced by what's already running on the system 2/ wear out SSDs for little benefit
Agreed, there are better ways, the example was more for the output or datapoints.
Aspects of BPF tools make this light on resources, but there's a whole stack of tools down the line, including 'iolatency'.