pagekite / PyPagekite

Python implementation of the PageKite remote front-end protocols.
http://pagekite.org/
GNU Affero General Public License v3.0
724 stars 123 forks source link

Add option to configure QoS and bandwidth limits #67

Open mrschyte opened 5 years ago

mrschyte commented 5 years ago

Please offer a configuration option to set up or disable bandwidth limiting.

I've set up a frontend (using v0.5.9.3) and judging from the source code, PageKite defaults to a maximum read speed of 96kb/s. This makes large transfers unbearably slow.

As a workaround I've commented out the flow control code (selectables.py:347-358), but it would be nice to have an option to control this setting from the configuration file.

BjarniRunar commented 4 years ago

Thank you for filing this!

This has been improved a fair bit. I routinely see 800mbit/s transfers now using default settings and a nearby relay. There were bugs in the flow-control logic which were artificially slowing things down, that got fixed in versions v1.0.1 and v1.5.1.

There is also now a parameter, --max_read_bytes which can be used to further tune the performance both at the front- and back-ends. It needs documenting, which is why I'm still leaving this open.