Slow ethernet iperf3 speeds until reboot

I think you’re responding to the wrong guy, that would be @Ainsley.
I’m the thread starter.

This thread has become a bit messed up with two separate – and apparently different – problems causing some confusion, as evidenced by my last post.

That said, leaving aside the UDP issue, which I don’t think is relevant to either of your problems, the cron job addresses the speed degradation, which I believe belongs to you. So, please re-read my post and, if you wish, run the cron job and report back.

1 Like

Im assuming replace the ip address with my server for iperf3? I need the server listening?
How do I start/run this process?
I’ve installed cron and added the line.

it’s working I can see the server responding!

Yeah, sorry about messing things up :smiley:
The speed degrading to 100 Mbit/s isn’t real a problem for me, cause I can fix it by replugging the LAN cable. I first thought that me and floatingkiwi were experiencing the same, so I just wanted to “participate” in this thread.

well, it slowed down very quickly. This cron log doesn’t show much:
https://paste.osmc.tv/javugegego

Assuming that you rebooted before starting the test, it took just over one hour before the speed dropped considerably. Since everyone likes a picture, here it is graphed:

Data points 2 and 3 show a strange drop, before it returns to the full speed at point 4. Then point 5!

I re-read your posts and hadn’t realised that you first reported this issue in June 2019. Later you mentioned that it took 3 weeks to slow down. Now it’s more like one hour. From post #13 :

1 Just to be clear, how is the network configured? For example, is the Vero4K+ directly connected to the router by cable (ie no powrline adapters); or is it directly connected to a switch, and then to the router?

2 When the speed drops, have you tried restarting the router / switch that it’s connected to?

3 Have you moved the Vero4K+ to the office with a direct connection to the router and with the shortest path possible between the V4k+ and PC – and left it running long enough to see if the speed drops?

4 If you’re up for it, you can increase the frequency of the cron job from every 15 minutes (*/15) to something shorter. Just remember to remove the old file before you start the job.

Edit. If you run the cron job again, just to ensure that something else isn’t stealing the bandwidth, I’d recommend that you install the ifstat package and then run this command at the same time as the cron job runs:

nohup ifstat -i eth0 -t -b 60 &>/home/osmc/ifs.out &

This will save details of the bandwidth on eth0 (in kilobits/sec) every 60 seconds.

Please reboot your Vero4k+ and then run sudo ethtool eth0 > ~/ethtool.before. (At this point, I’ll assume you should be seeing 1 Gbps on eth0.)

When the speed drops to 100 Mbps, run sudo ethtool eth0 > ~/ethtool.after and grab-logs -A.

Show us the before and after ethtool outputs, along with the URL from grab-logs.

I assume I have to enable Logging before doing this?
@dillthedog

If you mean Kodi debug logging, it’s not required.

So I don’t have to enable anything before I can grab the logs with this command?

Correct.

I dont know how to multiquote:

  1. vero/lounge equipment to switch. switch using Cat 6 cable to office where router is, Laptop connected to router also cat 6.
  2. yes, as mentioned NOTHING else but a reboot of the Vero or turning it’s internal ethernet adaptor off and on again will restore the speed - cables unplugged/plugged, all other equipment disconnected, switch cycled, router cycled, different cable vero to switch etc.
  3. yes, back then it would take days/weeks to do so but it did eventually.
  4. what is the syntax to delete the file?

Thanks

Thanks. If you’re 110% certain that the problem exists when the V4k+ and PC are both in your office and connected directly to the router, then this suggests that the problem isn’t with the network path from the media room to the router.

rm /home/osmc/ip3.out

surely a problem with the path would prompt one end to drop to 100mb, not to 150-200ish??

It might, but it would be unwise to assume that that is the only possibility.

No 2 and 3 data points are probably from my partner who does a lot of video stuff and connects at that end of the house, dropping the bandwidth.

OK, another real fast slowdown:
cron: https://paste.osmc.tv/afuyayemix

ifstat: https://paste.osmc.tv/nituyorola

I’m out of time for today, but my initial observation is that the slowdown is accompanied by a significant increase in CPU usage. Looking back at the first set of figures, they also show high CPU usage when the throughput drops, including the small dip at data points 2 and 3.

The ifstat figures indicate that there’s nothing hogging the ethernet bandwidth on the Vero4k+.

Edit: A bit of lunchtime reading revealed this very relevant information: bandwidth - What means 's' and 'u' letters on CPU utilization in iperf3 command with -V? - Super User the bottom line being that the CPU figures seem to be for the iperf3 process alone. The getrusage() man page states that the figures are:

resource usage statistics for the calling process, which is the sum of resources used by all hreads in the process.

Even the “good” iperf3 speeds are using quite a bit of CPU, eg for 933 Mbits/sec:

CPU Utilization: local/sender 29.2% (0.5%u/28.7%s), remote/receiver 0.6% (0.2%u/0.4%s)

By contrast, my non-plus Vero4k is typically showing:

CPU Utilization: local/sender 1.5% (0.2%u/1.3%s), remote/receiver 9.8% (1.0%u/8.8%s)

though with only 10% of the throughput.

Nevertheless, the above figures don’t in any way explain why the CPU utilization is close to maxing out when the problem occur. Since I don’t have a Vero4k+ on which to run further tests, I’ll have to pass this one over to @sam_nazarko

One final thought. Unless you are seeing playback issues with your videos, this might, for example, simply be a technical issue with the way iperf3 interacts with the Vero4K+'s ethernet driver.

Are you running any other services, like a torrent client on the system?