Relay servers have a theoretical speed limit?

I installed a private relay on VPS to avoid using traffic from the public relays. It works great however I have bee noticing that the relay speed is maxing out at around 575 KiB/s. This is surprising to me because I know my server (debian) can handle a lot more.

I am trying to figure out where the bottleneck is and I can’t figure it out. I checked the CPU usage (only about 4%), bandwidth, I have a 500Mbps fibre line and the relay is in a data center with plenty of capacity, not IO either. The relay limit is much higher but even if I remove the limit I am still seeing this 575KiB/s barrier. The relay and its also not on a public pool.

Any ideas what causes this limitation in the relay server? Is there a theoretical maximum speed a relay can handle? It can’t be this low.

I noticed that when the relay starts there is a:

Jul 11 02:35:26 localhost strelaysrv[16328]: 2020/07/11 02:35:26 main.go:144: Connection limit 419430

I think that just refers to the number of connections it can handle not transfer speeds.

Here is the startup line for the relay (actual address redacted)

/usr/bin/strelaysrv -pools= -ext-address=XXXX.XXX:22067 -global-rate=6000000 -per-session-rate=6000000

I don’t think there is any inherent limit, but I am not sure if we ever benchmarked it either.

Syncthing can be slow if it’s transferring a lot of small files. For the purpose of the test, I Suggest you create a large file and see what speeds you get when transferring a large file.

Thanks @AudriusButkevicius. You were correct. I did a test with a larger file and it worked flawlessly. I got up to 5MiB/s. A lot of small files kill the performance.

1 Like