-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SplitHTTP: Do not produce too large upload #3691
Conversation
Since XTLS#3603 and XTLS#3611, iperf and speedtest are triggering "too large upload" by the server. This is because v2ray's MultiBuffer pipe can actually return data larger than the configured size limit. I'm surprised nobody noticed it so far. In principle, any heavy upload could disrupt the entire connection. In its infinite wisdom, speedtest.net hides such errors and only shows low upload instead. I only noticed this issue myself when inspecting server logs.
That 'ed' in the Path is interesting |
@APT-ZERO expand the code further, there's a code comment. the test is just meant to demonstrate that querystrings don't break the transport entirely. it serves no purpose, but the test was incomplete. (it's not related to this PR just some random unrelated change) |
That's why some users report that increasing the maximum upload bytes on server can improve upload speed significantly |
by the way, i'm struggling with MultiBuffer pipe. it has a strange API due to performance concerns, and a lot of code seems to rely on the behavior of |
also I suppose this is why @MHSanaei added different defaults to splithttp: MHSanaei/3x-ui@d319476#diff-b5ef5f7bdd4bc564ca919c23529956b3402c3065543fbe2f773088b6893cb467R559 (most of those options have no real effect on the server, but the bump of MaxEachPostBytes works around this bug) |
Because the 3x-ui panel has two types of export. 1- Normal export, for example, to vmess or vless. 2- Export as json sublink! These parameters that are set in the server (panel) are placed in json and given to the user (as a sublink). |
|
Since #3603 and #3611, iperf and speedtest are triggering "too large upload" by the server. This is because v2ray's MultiBuffer pipe can actually return data larger than the configured size limit.
I'm surprised nobody noticed it so far. In principle, any heavy upload could disrupt the entire connection. In its infinite wisdom, speedtest.net hides such errors and only shows low upload instead. I only noticed this issue myself when inspecting server logs.