fmdlc / ISP-Checker

Kubernetes and Docker Compose files to run ISP checks on a Raspberry Pi. 📊
https://www.youtube.com/watch?v=BnQDnCNG1Bs
Apache License 2.0
131 stars 32 forks source link

The speedtest might create a weird pattern in graphs. #2

Closed edux closed 3 years ago

edux commented 3 years ago

Having the speedtest run every 5 minutes create this pattern on the icmp graph. The speedtest-cli command running every 5 minutes saturates the uplink and generates the delay on the icmp response.

https://github.com/fmdlc/ISP-Checker/blob/45d6e299b7e23d3202b1bfa9266055cf1f8fe75d/ISP-Checker/telegraf/conf/telegraf.conf#L103

Screen Shot 2020-10-09 at 08 49 37

I don't know if it makes sense to change it or just leave it there for each user to decide.

fmdlc commented 3 years ago

Probably we can limit the upload/download size and avoid this saturation. I will research, thanks for reporting @edux !

edux commented 3 years ago

I've been thinking how to tackle this, basically during work day I am ok if I get ~75% of my purchased bandwidth, so with some scripting we could do:

1st run: speedtest without limits, report back to telegraph and also save output to a local file. next run and localfile timestamp <24hs then: run speedtest but wrap it with tc shaping to a 75% of the bandwidth for up and down to not kill the uplink. next run and localfile >24hs then: run speedtest without limits and save the new bandwidth limit.

but probably this is over engineered.

fmdlc commented 3 years ago

@edux In order to fix this issue, I was focusing mostly on running on a Kubernetes cluster, for that I configured speedtest-cli and mtr to run like a cronJob every 10 minutes. Probably it had reduced the overhead produced while these two binaries were running. Let me close this Issue and don't hesitate to reach me out if some other issue happens.