openspeedtest/Speed-Test

Insane upload speeds

johncsuti opened this issue · 8 comments

I have seen a few issues such as this in the past however they are using other configurations.

I have Nginx setup running directly to openspeedtest. No reverse proxy, docker, or anything.
According to openspeedtest my download speed is 16Mbps which i agree with and PfSense shows around that going out. However the upload speed shows around 3000+ Mbps while PfSense shows its not even reaching 15Mbps it tends to say around 13Mbps.

Screen Shot 2023-04-26 at 4 58 51 AM

Screen Shot 2023-04-26 at 4 57 17 AM

Looking at the network traffic in firefox i get this.
Screen Shot 2023-04-26 at 4 55 34 AM

If your wondering this is running from firefox using mac pro.
I have also seen it broken on firefox using ubuntu and kali linux.

Any ideas on what to try would be helpful.

Also check post body length https://github.com/openspeedtest/Nginx-Configuration/blob/main/OpenSpeedTest-Server.conf#L42 limit should be 35 Mb or more, use this configuration and try again.

Both of those have been set it dropped the upload speed to 1700+ Mbps.

I have noticed the download file on the server has data yet the upload file has nothing. Do we need to put random garbage into the upload file?

It looks like setting https://github.com/openspeedtest/Nginx-Configuration/blob/main/OpenSpeedTest-Server.conf#L43 still doesn't allow the POST options. Looking into Nginx there isn't anything that would override this.

Enabling logging shows 200 requests for upload and download from nginx.
Not sure what could be happening.

I used exactly the same configuration in this docker image. https://github.com/openspeedtest/Docker-Image/tree/main/files , maybe try this docker image. Or replace your configuration with the one I posted.

Just an empty file named ' upload ' should be there. AND YOU SHOULD USE HTTP1.1, DISABLE HTTP2/3

If you really need http2/3 you should handle upload like this https://github.com/openspeedtest/Nginx-Configuration/blob/main/OpenSpeedTest-Server.conf#L79 but browser will use a single http connection for http2 and 6 http connection for http1. So most of the time more than one http connection is required for achieving maximum performance. So http1.1 is better for this application.

Fixed the issue http2 needs to be disabled on all virtual hosts. when using virtual hosts Nginx cannot server http2 over some virtual hosts while using http1.1 over others using the same ip:port.