-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Troubleshooting general #75
Comments
Hi adolftintel, first of, nice project! I have two smallish nits to pick:
This really is just a guestimate as the speedtest has no real idea about the true overhead on the link. The HTTP part will be under control of the speedtest, sure, and probably also the IP part (assuming you force IPv4) but how about TCP options? Also I believe you do not measure the actual MSS/MTU so this part really should be reported as additional data IMHO; so present the real measured HTTP/TCP/IP Goodput first and then also present estimates about gross rates at lower OSI layers, that way the user can choose which numbers to trust.
actually assume Mebibytes/Mebibits (base 2^10) instead of Megabytes/Megabits (base 1000), as far as I can see in networking all rates are traditionally defined is SI units. It would make it much easier to compare this speedtests results with other tests if the conventional measures would be used (or at least the correct unit descriptors) Best Regards |
Yes, the overhead is an estimate of course. I estimated it from my ADSL, which seems to be the most common type over here. |
Ah, I believe the fact that it is an estimate should be reported prominently to the enduser, so one can understand the results better. |
Side note: Overhead compensation/reporting is I believe quite an interesting feature for endusers, especially since many ISPs only "promise" gross rates an so the ability to get a decent estimate of the gross rate from a speed test is quite helpful. The challenge for doing this generically is simply that there are a lot of different options that are hard to deduce empirically from the speedtest server side, and making the user manually select the used encapsulation will mostly confuse the "target" audience of normal users (this is not meant as an offense, nobody except a few axperts should have to know this ;)) |
It's probably overkill. |
Sure, reporting the measured rate seems like a decent idea, and maybe add the IP-level rate as well (as anyone is bound to use IP to reach the server), but anything higher like ethernet/ATM-ADSL/PTM-VDSL2 will just be confusing. But the number of packets sent would be great ;). The difference between Mb and Mib (100 - 100*1000^2/1024^2) = 4.6% will be ignored by a lot of users (those that look at the order of magnitude of the test result and their contracted rates) but there are users who will obsess over roughly 5%. Whether one wants to cater to those is i different question though ;). |
Not really a issue, But I love the HTML5 Speedtest, I have about 50 mirrors. And i wanted something to show the test records from using 'example-telemetry.html'. So i wrote one.. You can view it here.. http://code.justla.me/index.php?file=php/html5speedtesttelemetry.php |
@geekism I have an almost identical code that I use on my server. I haven't published it because it's very basic and generates very long pages. If you have time, you could make some page system and send a PR. Also, a couple of suggestions for improving your page:
|
Hello , thanks of your project . I've run it on my http website very well. |
@cayxxx Do you get an error 500 if you try to open getIp.php or any other PHP file? |
@adolfintel Thank you for reminding! It works perfectly after I installed php. But I am wondering why it could work before without php. |
With the default settings, the test requires PHP. It's possible that your web server was configured to use PHP only with HTTP, and when you used HTTPS something changed. |
I really like this project. I would like to contribute back a command line client (instead of web browser) that could perform speed tests against the server. Has anybody developed a command line client for it already before we embark on the task? |
This is a speedtest for browsers, if you can use the command line, iperf is a better solution |
We probably have a corner use case. I thought iPerf would enter the discussion :) I've been using iperf but I don't think it is possible to do exactly what we are trying to accomplish with it. If iperf would stream its JSON output rather than only output it at the end of the test, it would make it easier for us to build a "speed test API". Ultimately, we want to animate the speedtest result, even though it is run behind the scenes between server to server. This animation is just not going to happen in enough "real time" as we hoped. |
Hmm, I don't know much about iperf, but I really can't recommend this project for your use case. |
Browser choice makes a difference. For a client, I'm using a recent iMac, and the server is on our local network (all gigabit Ethernet). I noticed that using Firefox, my reported download/upload speeds were consistently 990/600 Mbps. After troubleshooting for awhile, I tried Chrome and consistently get 995/995 Mbps. Something to consider if you're testing a local network. |
@ketterling Yes, some browsers are a bit heavier on the CPU than others, therefore the speed may be limited on very fast connections. |
@adolfintel I was trying to understand what appeared to be a slow speed test for my new 200Mbit Internet service provided by my cable company. Having a solution such as yours (great solution, by the way) allowed me to test over the Internet and also to perform the same test locally and across my firewall. With this test, I was able to conclusively pinpoint my firewall, and a bit of trial and error pointed me to a particular setting. I'm very grateful for your solution! |
Great tool @adolfintel ! I would like to share a strange behavior with Chrome (whatever OS I use, Linux, android or Win) : each time it runs, my web server (apache mpm_event php7-fpm) answers (exactly and always) 3 bad requests atfer test is finished. I don't have this behavior with Firefox. I tried to disable parallel_downloading in chrome flags but got poor speed results and same apache errors:
looking at the log timestamp, you may notice the access log with error 400 is older than telemetry.php (which is not shown here but trust me) but only appears at the same time as the php error, which is stamped after telemetry.php. So it looks like, the 3 requests are blocked somewhere in apache and never finish until error. There is about 35s between the requests and their php errors, which is not related to any (apache or php) timeout configured. Strange isn't it ? |
@niko2 I'm 99% sure that those are the incomplete upload XHRs that have been terminated at the end of the test. Nothing to worry about I'd say. Is it causing you problems? |
thank you @adolfintel for your quick answer; no it is not causing me problems except flooding my error logs which I prefer to avoid. Do you have any clue about the different behavior between Chrome and Firefox ? |
@niko2 I don't know the implementation details. I guess Firefox just closes the socket so the server treats it as a request that the client failed to send, but Chromium just leaves it hanging. Pure speculation of course, but if you're interested you can use wireshark to see exactly what's being sent (or not sent). |
Why can not upload when speed is detected in mobile browser? |
@GuojlWeb what browser? |
hey I can't get ISP data, there is written "unknown ISP", can you help me? @adolfintel |
@sistemabc Do you use this in your local network or is it hosted on a server outside your networ? If it’s in your local network the Speedtest can’t determine your ISP since we use the IP for that. |
So how do I run so I get data ISP? I mean when running in the browser, is it "localhost/speedtest/" ? |
@Ressy66 if you're not using garbage.php then you don't need it, however, you need to point the download test to your 10mb.dat file (see url_dl in customizing test settings in the wiki). Keep in mind that paths are relative to the JS file. |
@adolfintel Hi, yes I have done that, makes no difference still, download max speed is 0.10mbps when I should have 50-ish mbps like I get on iperf3, any other sugestions as to whats going on? or on how to debug this? |
@Ressy66 Yes, press F12 and go to network, then run the test. Do you see a bunch of failed requests during the download test? |
I am using Fortigate as my gateway. Guess need to study it first, you dont have any idea what is the Fortigate header right? |
@Halfeez92 I don't know, sorry. The easiest way to figure it out is probably to sniff the HTTP traffic and see what headers it adds. |
Inactivity is the measure of postponement (or time) it takes to send data starting with one point then onto the next. Inertness is for the most part estimated in milliseconds or ms. It might likewise be alluded to as a ping rate. |
Hello Has uploading been set in the script / code at a limit of only 20Mbps? Thank you |
@baroescoeg There is no limit, and certainly not that low. You need to find out what's slowing it down: it could be a server problem (for instance, it's underpowered, like a raspberry), or a network problem (firewall, congestion, throttling, ...) |
@adolfintel Thank you for your reply For the speedtest link I can't give it Is there anything I can do, thank you |
@baroescoeg I'm pretty sure the OrangePi is underpowered, at least for apache, but let's make sure. |
@adolfintel I check on htop, when doing a test (speedtest) |
@baroescoeg 15% on a single core or globally? |
@adolfintel globally 15%, single core 56% for download, single core 5% for upload (only reach 20Mbps) |
@baroescoeg That's weird, there's got to be something slowing you down. |
I'm closing this thread and making a new one because it's becoming too long |
@robertjoh001 no spamming |
I have installed librespeed on a archlinux server with a 1 Gbit/s Uplink and sofar the fulltest is working but the results show me no ip-adresses. It‘s this becaus of uBlock or Ghostery or need to install some additional software on the server? If want to test it www.speedtesting.it have also a speedtest.net and other stuff running! How i can protect the subfloder results with a htaccess file? I get a 500 error or nothing. Htacces is working on same apache server at other vhosts. |
@Morta1985 About the IP address, try to open http://yourserver/backend/getIP.php?isp=true, see if you get an error. |
https://speedtesting.it/backend/getIP.php?isp=true Seems to work on the iphone i will look on the Laptop later. |
Works for me as well |
but still in the stats.php 0.0.0.0 as ip in every test.
Can i enter a access token of ipinfo.io?
Federico Dossena ***@***.***> schrieb am Mi. 11. Aug. 2021 um
08:11:
… Works for me as well
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#75 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ASKSDY65AW7IO5LT3IYUL6LT4IIBPANCNFSM4D6Z27BQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email>
.
|
Did you turn this on? speedtest/results/telemetry_settings.php Line 10 in eca7f06
Contact me at info@fdossena.com for the API key (only needed if you to more than ~500 tests/day) |
I fixed it with to turn false. Thanks 🙏
Federico Dossena ***@***.***> schrieb am Mi. 11. Aug. 2021 um
08:24:
… Did you turn this on?
https://github.com/librespeed/speedtest/blob/eca7f06e217b739e2c6cb14f3f4b4da9ea9be921/results/telemetry_settings.php#L10
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#75 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ASKSDY5EZO5D3KGUWEIGZALT4IJRDANCNFSM4D6Z27BQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email>
.
|
Is this still on? :) I'm seeing HTTP 400 errors in every test, would like to report it here before opening another issue:
There are always 3 x HTTP 400 before closing the test. For me it's an issue, because I have fail2ban blocking hosts generating multiple 4xx errors. It's running with nginx+php-fpm:
All this using the stock example-singleServer-full.html + sqlite |
@ciroiriarte It's normal: when the upload test ends all connections get cancelled, so the server will receive an incomplete POST request. |
Thanks, adding an exception to my fail2ban rule. |
If you need troubleshooting, send me an email at info@fdossena.com, or use this thread.
Please don't make new issues if you just need help.
The text was updated successfully, but these errors were encountered: