fast-cli icon indicating copy to clipboard operation
fast-cli copied to clipboard

Settings to make test longer

Open michaelsstuff opened this issue 6 years ago • 2 comments

Hi,

any chance we could make the test last longer? For high speed connections it gets very inacurate:

[root@haproxy bin]# ./fast-cli -D
Using HTTPS
trying to get fast api token from https://fast.com/app-233b5b.js
token found: YXNkZmFzZGxmbnNkYWZoYXNkZmhrYWxm
getting url list from https://api.fast.com/netflix/speedtest?https=true&token=YXNkZmFzZGxmbnNkYWZoYXNkZmhrYWxm&urlCount=3
urls:
 - https://ipv6-c081-fra002-ix.1.oca.nflxvideo.net/speedtest?c=de&n=24940&v=5&e=1575368342&t=_6HtmgNNziNVhSqCLyoziWVuZO8
 - https://ipv6-c085-fra002-ix.1.oca.nflxvideo.net/speedtest?c=de&n=24940&v=5&e=1575368342&t=E4ThGGZ8eUrO_ogKnCSM7G4vVbY
 - https://ipv6-c147-ams001-ix.1.oca.nflxvideo.net/speedtest?c=de&n=24940&v=5&e=1575368342&t=51DwzqeI43brrdK5pSR0rJayMKY
Got 3 from fast service
Download Size=26214400
Estimating current download speed
   1.64 Gbps - 100.0%
Completed in 0.2 seconds

How can he accurately calcutate 1.65 Gbps with just 26 MB?

Also if repeated over and aover again it jumps from 1.26 to 1.89 Gbps

So my suggestion would be to either add a flag to run a long test (download larger files more than once) or make it more dymanic like fast.com ?

Thanks!

michaelsstuff avatar Dec 03 '19 09:12 michaelsstuff

+1 to this, on a 1000Mbps ISP service and wired Ethernet, my declared speeds jump between 500 and 800Mbps. In a browser, I find a solid 800-900Mbps.

Edit: I just looked at the code, and this line https://github.com/gesquive/fast-cli/blob/master/main.go#L82 appears to define the number of Download URLs to fetch and then execute on. I'm going to try changing this number and building to see if, when I run it in Debug mode, it then uses more URLs.

Edit 2: On a Linux host, I installed Go and then ran go get -v -u github.com/gesquive/fast-cli (v for verbose, the make install didn't work for me). I then went to the Go folder nano ~/go/src/github.com/gesquive/fast-cli/main.go and modified the highlighted line to be 30 instead of 3. I then ran go get -v -u github.com/gesquive/fast-cli again, which appeared to take the results. The log output indicates the value got changed correctly: getting url list from https://api.fast.com/netflix/speedtest?https=true&token=YXNkZmFzZGxmbnNkYWZoYXNkZmhrYWxm&urlCount=30

However, the response only provided five results:

Got 5 from fast service
Download Size=26214400

Edit 3: Final update. You can go to the API yourself https://api.fast.com/netflix/speedtest?https=true&token=YXNkZmFzZGxmbnNkYWZoYXNkZmhrYWxm&urlCount=2 and the urlCount parameter only respects inputs of 1-5. An input of 0 gives 1 result, and an input of anything more than 5 gives 5 results.

I think this means that if we want more than 5 chunks to download, we'll need to make multiple API calls to collect URLs, and then download them in one big go.

kubedzero avatar Sep 07 '20 18:09 kubedzero

The locally stored fast.com cookie gives you access to variables that let you specify the min connections, max connections, min test time, max test time, and more.

quarky42 avatar Feb 24 '21 22:02 quarky42