Here you go-
If you’re a Comcast customer, or with another ISP that handles customer service on Twitter, you can play along with a Raspberry Pi, too. AlekseyP posted the code to his Python script on <em>Pastebin</em>. This code will help get you started, but you’ll also need to install dependent programs and utilities such as <em>speedtest-cli</em>, a command line interface program that tests your bandwidth speeds via <em>speedtest.net</em>. Python, the core scripting language behind the tool, should already be installed on your Raspberry Pi’s operating system.
Immediate thing that comes to my mind: something like https://github.com/sivel/speedtest-cli, throw the data into a database of some sort, then point Grafana at it.
This isn't a bad idea - I might have a playaround with this to see what I come up with.
I actually did a hacky sort of thing recently when my ISP had a state-wide drop to about 1mbps up and down. There's a cli tool for speedtest here, and you can automate it by adding a script like this to your crontab. Doesn't do ping, just upload/download with a timestamp, but it's a good place to start.
To use Speedtest without Flash, try speedtest-cli. It's even usable without a GUI.
Shumway works for replacing basic Flash functions like “copy to clipboard” buttons.
Back on topic, it's too bad they call it digital rights management when it is really in fact digital restrictions management.
Could be constrained by all sorts of factors, maybe python execution speed? See under "Inconsistencies" at https://github.com/sivel/speedtest-cli Is the router/modem port definitely gigabit and not in 100 megabit power save mode? Is the Pi also connected via wifi and using that, maybe?
If you want to test actual local network adapter speed instead of a combination with internet speed, use iperf3 (sudo apt-get update && sudo apt-get install iperf3). It needs a server to connect to, which can be started with "iperf3 -s". So that needs to run on another linux computer on your LAN which also has a gigabit ethernet port. Or try the Windows version: https://iperf.fr/iperf-download.php Then start the test on the Pi with "iperf3 -c myserver.local" to test upload speed and "iperf3 -c -R myserver.local" to test download speed. See "man iperf3" for more options. Make sure both computers have wifi turned off! And both are on a gigabit port on your router.
Get a spare pc, do a fresh install of ubuntu server edition and turn off updating. Connect it directly to the modem without anything else. Install speedtest-cli. Set up a cron job to run every 3 minutes and redirect the output to a file.
Background: a while back, I threw together a short script that would keep track of packet loss between my home network and a remote network (for my purposes, I use Google's DNS server at 8.8.8.8, since it almost never goes down). This data were used to back up my assertions to my ISP (Comcast, of course) to back up my claims of their internet service issues. I later expanded it to include Speedtest results using speedtest-cli.
Of course, the logical next step would be to automatically generate graphs that I can pull up on a whim to check historical speeds over a period of time. While I'm still looking for a good solution that can create graphs in SVG format automatically, I think I've come up with a decent visualization that illustrates outages fairly well. I particularly like the "flame" effect that the speed/quality areas make, though I'm not completely sold on the other graph colors yet.
The base graph is done in LibreOffice Calc (v. 5.3.1.2 as of this writing), then manually tweaked in Inkscape, namely for the filled <20Mbps and ping lines.
Original Dataset (there are more data points in the dataset than are depicted in the graph)
Geplanter Task in Windows. Dann das hier ausführen:
https://github.com/sivel/speedtest-cli
Mit --csv
in einer Datei speichern, später alle zusammenführen und in Excel ein Chart erstellen. Oder ein Python Skript schreiben, das dann automatisch ein Chart erstellt.
Nice. What did you use to generate the graph? Also, you should put the script on GitHub so others can perform the same test.
Edit: The CLI tool is neat. Looks like it should be simple enough to parse the output with a script and run via cron.
https://github.com/sivel/speedtest-cli
This is a python script for performing speedtest.net tests from the CLI. It can even give you a URL to the results PNG. You can pick the server you want to test from or let it decide for you.
There are various ways to check. speedtest.net is an nice and easy way to test from a browser. speedtest-cli is somewhat easy to use from the command line to do the same.
If you want to run your own eth1/execution client in addition to your own eth2/concensus client, you probably need around 4.5MB/s (36 mbps) up and 4.5MB/s (36 mbps) down.
I get close to the theoretical max with my sg-3100, so I can at least tell you it's possible to get near 1Gbps through the device. Make sure your WAN/LAN are both linked up at Full Duplex and consider running the Speedtest-Cli on your box itself.
Also for the hell of it try a different ethernet cable between your modem and the SG-3100 and to your computer.
You could use a python script like https://github.com/sivel/speedtest-cli which you can call from another python program which adds to a log file and call this periodically using cron.
This won't be a website, but you could simply have the python script write the log in HTML and couple it with apache2 or nginx.
Sounds like a good project, have fun!
The RPI3 is not that bad actually, before giving up give a try on this on your RPI3 and on desktop and see if there's any difference:
https://github.com/sivel/speedtest-cli
It should only matter if your home connection is > 100mbps really.
I ask because maybe the bottleneck is not on the RPI but your home connection, in that case, yeah, unfortunately you'll have to go the VPS route. You can also give a look if the bottleneck is your hard drive (never use the sdcard for write-heavy applications because they wear out fast):
http://www.binarytides.com/linux-test-drive-speed/
If you wanna upgrade your RPI3, a good option is something like this (cheap and power-efficient):
https://www.zotac.com/product/mini_pcs/zbox-c-series/all
If you worry about privacy there's no way you'll have it 100% safe if you don't control the machine physically and use a VPS. In any case, it's light-years better than depending on third-party services!
This is one of the many flaws in this testing. There is a giant warning for this script that the results are not consistent. https://github.com/sivel/speedtest-cli#inconsistency
"Inconsistency
It is not a goal of this application to be a reliable latency reporting tool.
Latency reported by this tool should not be relied on as a value indicative of ICMP style latency. It is a relative value used for determining the lowest latency server for performing the actual speed test against.
There is the potential for this tool to report results inconsistent with Speedtest.net. There are several concepts to be aware of that factor into the potential inconsistency:
Issues relating to inconsistencies will be closed as wontfix and without additional reason or context."
So you said that you performed a speed-test via SSH, how did you do it? Did you simply use speedtest-cli or did you actually test your connection between the VPS network and your home network?
I would personally start by testing regular file transfers between the VPS and your computer. Try SFTP downloads/uploads from/to the VPS and check the speeds during the transfers. I really don't expect you to get any good speeds at all from Florida to Hong Kong.
https://github.com/sivel/speedtest-cli/wiki
>>> import speedtest >>> s = speedtest.Speedtest() >>> s.get_best_server() >>> s.download() >>> s.upload() >>> print(s.results)
Hope that helps; let me know if you have any questions.
This link may give you some insight(in the readme). https://github.com/sivel/speedtest-cli
tldr: speedtest.net uses sockets, and python can be slow, causing variance.
Fwiw, I'm on a 100Mbps connection, thats what i get from speedtest.net (+/- 5%), and pyspeedtest shows 30Mbps
There a cli client for speedtest.net on GitHub. You can run it from a script that timestamps and dumps its output to a file. Put that in a Cron and Bob's your uncle.
I did something similar with my beagle board.
Its pretty easy - just make sure you connect it directly to the router and do not use wifi.
the project below looks pretty good.
https://github.com/james-atkinson/speedcomplainer
I used:
https://github.com/sivel/speedtest-cli
and
http://mike.verdone.ca/twitter/#why
wrapped all that up in a shell script and set it to run every hour.
It's not very hard to do.
Having 100mbit/s doesn't mean every torrent you download will have that speed.
What are you using to test your speed?
Install speedtest-cli and run that to test speeds.
you can make a simple shell script (speedtest-cli needs python though, and it's quite large) which measures your current bandwidth and sets up relevant variable via uci command, and then make a startup script from it, but to measure the bandwidth nothing else should be useing it, entire bandwidth should be exclusively available for the test
Ok, so that screenshot is what you should be getting in your hosting (and not your hosting company total bandwidth I hope).
If that's the case you should look into this:
https://github.com/sivel/speedtest-cli
So you can see the speed of the server farm to the nearest point, and compare it with the speed with your typical endpoint (this is useful if you host abroad).
keep nload open on a second terminal/console to monitor the output.
In some cases, I found some hosting limited the band per user, or had some bottleneck with certain areas or ISP, while retaining an excellent speed to speedtest locations.
There is a giant warning for this script that the results are not consistent. https://github.com/sivel/speedtest-cli#inconsistency
"Inconsistency
It is not a goal of this application to be a reliable latency reporting tool.
Latency reported by this tool should not be relied on as a value indicative of ICMP style latency. It is a relative value used for determining the lowest latency server for performing the actual speed test against.
There is the potential for this tool to report results inconsistent with Speedtest.net. There are several concepts to be aware of that factor into the potential inconsistency:
Issues relating to inconsistencies will be closed as wontfix and without additional reason or context."
Try it on the server. Use Wireshark/tshark to see if there's a high number of retransmitted packets.
I like to use https://github.com/sivel/speedtest-cli or iperf3 to check external speed and compare that to VPN speeds. If you have fast external throughout but slow VPN throughout, chances are MTU is the culprit. AWS sets extremely high MTU by default so I'd try bringing it down to 1500 then ~1400 to see if there's a noticeable difference. I don't use OpenVPN so I'm not sure if you have a tunnel interface, but I'd start by making adjustments on the primary NIC.
If you use Linux there is a speed-test.cli although as it is based on Python I dare say you could get to work for windows as well with the appropriate Python libs.
Almost everything I watch on YouTube, I get with the command-line program, youtube-dl.
This has recently showed that my ISP are throttling YouTube at certain times.
I just got 33.6Mb/s on a small YouTube video, whereas I've seen about 1/20 that speed midmorning.
If you're au fait with command line programs, it might be worth comparing the speed you download from YouTube with speedtest.net at various times of day.
Are you a 100% sure its the internet connection and not some kind of thing bottlenecking the CPU? (Just thinking out of the box here).
Try running a CLI speedtest; https://github.com/sivel/speedtest-cli
1: Okay
2: You would be surprised tbh
3: Can you try and run this tool on both of the servers https://github.com/sivel/speedtest-cli and select a city close to you and see what it returns
Else I can only say, cancel both of the servers and get one that's located in the US
Another thing to mention is the mebi (1000^(n)) vs mega (1024^(n)) distinction. One is close to 5% larger than the other, since 1024^(2) does not equal 1000^(2). I addressed this discrepancy in a pull request I sent to a popular open-source speedtesting utility.
Well for starters the web browser is going to be using a lot of CPU resources which will affect download speed.
Try a terminal based one like speedtest-cli https://github.com/sivel/speedtest-cli
https://github.com/sivel/speedtest-cli
I think I would have linked the actual github repo and let people choose how to run it, rather than trust a random internet post suggesting to pipe an unknown remote script directly to python. The script itself looks decent and the author provides several different choices to install it, and various flags to adjust the behaviour to the user's liking, none of which are captured by this "one liner"...
Oh ok, if you want to do it via pip you would add an 'entry-points' entry to setup.py, like your model has on line 70. This of course requires that you install via pip.
Also:
Is the speedtest-cli script the official binary from ookla or the python script. There are known issues with the other script using legacy api. The readme talks about this slight. https://github.com/sivel/speedtest-cli
If you are able to use it, I'd recommend <code>speedtest-cli</code>, a command line interface that works with speedtest.net. The advantages are: complete control of the request and NO ADDS!
Not really a dns question so probably the wrong place to post this.
That said, Speedtest.net does have a command line tool. It would be pretty trivial to write a script to do this.
speedtest-cli is a BS tool.
The author considers accuracy not a design goal. see the last paragraph in the readme.
Issue as relating to inaccurate results get closed without comment...
Speedtest.net has a CLI script written in Python that returns your current download and upload speed. You could probably use it as a base, run it on a 30 minute interval with cron or Task Scheduler, and store the values in a Excel sheet or database.
Hey /u/hawksing! Let us know what you think - the C++ based CLI performs much better on high bandwidth connections and doesn't have issues such as DNS timings affecting speed results.
This doesn't satisfy your .onion service target bit but https://github.com/sivel/speedtest-cli is a good sniff indicator (but y'know, limited to the Tor circuit)
1) Check the problem isn't an application; do that my using another speed test. You might try speedtest-cli (which I use).
2) Check the problem isn't your firewall - disable any software firewall (temporarily) and check router settings.
3) How is wifi on some other OS on the computer? If that wifi is comparably slow, check BIOS settings, check for BIOS update.
4) The Linux kernels come with drivers. So, try a new kernel. Ideally - but with a degree of risk - use the (paid but not expensive) progam called 'ukuu' to install a very recent (5.1 or 5.2) kernel.
5) Find out what network card you have and do a websearch to see whether Linux has any problems with it.
You might investigate Ethernet speeds too (if you can; you may need and lack an adaptor).
I might be wrong here -- but I believe you're missing a URL for wget?
​
Speedtest using e.g. https://github.com/sivel/speedtest-cli (speedtest.net) - getting speed between 800-1000MiB/s.
I ended up using the `Speedtest-CLI` Python module and making a script that ran every 30 minutes and dumped the output to a log. Then I just sent that log to NetOps.
​
Using speedtest from ssh connection to server, perfect utility for testing speed of server connection.
Here is a link to the tool, for those of you who are server admins: https://github.com/sivel/speedtest-cli
Option 1: https://testmy.net/auto
It does what you want. I don't like it because it never gives me accurate readings. DSL reports gives me better numbers but it doesn't have an auto feature.
Option 2: https://github.com/sivel/speedtest-cli
Write your own script. Make your own graphs. It's a bit more difficult but you get to brag. It's also useful for testing headless systems.
Option 3: iPerf3
Like option 2 but you also have to provide your own server on the cloud to test against. Bragging rights are maximized.
Slow... as in slow to resolve websites? Or slow as in download speed? You could try switching your DNS to Google(8.8.8.8, 8.8.4.4) or CloudFlare's(who I've been using... after using Google's for years: 1.1.1.1, 1.0.0.1).
More than likely an overloaded node if you are experiencing it during peak hours.
Had the same issue with Comcast years ago. I ended up scripting out a speedtest.net test every five minutes via this script: https://github.com/sivel/speedtest-cli and storing the results in a MySQL database to plot the results.
Four techs previously said nothing was wrong as they were coming out during the day when the node wasn't overloaded. After I had graphed the results... it took two techs before the second one said "yah I'm escalating to a regional network engineer.". Magically a month later I get a call stating they had been monitoring my connection for two weeks and they had split the node as it was overloaded.
Either way... you should be calling Charter to let them know you're having issues.
What's an ASA?
I set up an E3 test host using ESXi for trying different firewall platforms. I did the easiest ones first, pfSense and IPFire, since they're drop-in distros. I am working towards configuring an OpenSUSE VM for edge firewall/gateway and I'd like to do a FreeBSD 11.2-RELEASE VM for and also OpenBSD 6.3 VM if I can wrap my head around it (familiar with FreeBSD but OpenBSD not so much).
I'm just using it against my gigabit internet so far, testing it off the firewall with https://github.com/sivel/speedtest-cli - having the extra overhead has given me up to another 50mbps on test results compared to my J1800 dedicated firewall I built for pfSense, so I'm really curious to see how it performs once I get some 10GbE cards to go with these switches I bought.
Raw (sanitized) test results: https://paste2.org/MszyJ3DK
I really like the speedtest-cli component of this (https://github.com/sivel/speedtest-cli/). I've been looking for something like this that interfaces with public speedtest services for a while. Thanks for posting!
You could install speedtest-cli on your pfSense to test your linespeed.
You can install iperf (its a packge) on your pfSense. Run the server on pfSense, run the iperf client on your brother's box and you'll get the speed of your VPN.
Speedtest certainly isn't the last word on the subject. I simply suggested that you try it to see what your upper limit might be. We have to keep in mind that the alleged hacker didn't use HTTP to copy the files: the timestamp groupings indicate that it was a mass copy (edit: probably with cp), and only a subset of files were eventually released.
Sorry, I meant to add: my home connection is FIOS spec'ed at 75/75. I usually get a bit more than that in throughput, even after accounting for all the protocol overhead.
I have a fractional server in a US data center, but I don't have a server in Europe I can use for arbitrary testing. I might try the speedtest-cli script:
https://github.com/sivel/speedtest-cli
If you are interested, this is the original source of the analysis:
https://theforensicator.wordpress.com/guccifer-2-ngp-van-metadata-analysis/
And a separate analysis of the metadata in the first release of Word documents:
These two sites are what everyone else is referring to.
In the homelab spirit, I just spun up another container and installed Pritunl as per the docs. Kinda straightforward I must say, way less manually editing & patching config files around than installing OpenVPN by itself on an Ubuntu host. Almost the same network setup, though: host in DMZ, UDP port forwarding on edge router. Ironically the setup was done via OpenVPN itself since I'm not currently home.
Bandwidth seems to be slightly better with OpenVPN, but it can as well be due to network speed oscillations (testing from crappy ADSL connection to homelab). I did not investigate any further than some speedtest-cli averages:
Ping | Download | Upload | |
---|---|---|---|
Reference | 123.54 ms | 6.48 Mb/s | 0.63 Mb/s |
OpenVPN | 128.73 ms | 3.85 Mb/s | 0.54 Mb/s |
Pritunl | 132.89 ms | 3.58 Mb/s | 0.45 Mb/s |
My own conclusion: if you have a small number of clients (I have three, a Linux laptop and two Android devices) the web dashboard and hassle-free configuration management make it worth migrating over to Pritunl.
The only thing I'd have liked to "borrow" from the Enterprise version is the monitoring done via InfluxDB, since I already have a Grafana instance showing metrics from all my other systems. Can anybody confirm that it is only possible with an Enterprise license?
I don't think it would be hard to do.
1- Install Raspbian
2- Install a CLI speed tester
3- Setup an hourly cron job to run it
4- Write a script that posts to your Twitter every time result is lower than desired
5- ??
6- Profit!
There could be a number of different reasons why that happens, but the main points are covered here:
> There is the potential for this tool to report results inconsistent with Speedtest.net. There are several concepts to be aware of that factor into the potential inconsistency:
> * Speedtest.net has migrated to using pure socket tests instead of HTTP based tests > * This application is written in Python > * Different versions of Python will execute certain parts of the code faster than others > * CPU and Memory capacity and speed [of the hardware hosting ST-CLI] will play a large part in inconsistency between Speedtest.net and even other machines on the same network
It's also possible that a different Speedtest server is being picked between the web and CLI versions.
Ah, the familiar download/upload ratios of cable!
As far as speedtests go, I'm partial to running Speedtest-CLI on my Pi. Set to run three times a day and immediately available online in text format, I can easily glance when things aren't performing as they should be and when it started to occur.
> * Dec 12 08:00 [ST-CLI] DL: 23.3Mbps, UL: 4.8Mbps (Internode, 4ms) > * Dec 12 14:00 [ST-CLI] DL: 23.3Mbps, UL: 4.7Mbps (Internode, 4ms) > * Dec 12 20:00 [ST-CLI] DL: 23.5Mbps, UL: 4.2Mbps (Internode, 4ms)
I'd set up one of those fandangled graphs, but that's a bit beyond my level of savviness.
I'm not too familiar with Google Home but there is a Speedtest-cli. Perhaps you could have Google Home contact a device on your network (Raspberry Pi or something) to run the command and read back the result.
They/I tested on speedtest.hawaiiantel.net, and I additionally used the command-line version of speedtest (using multiple different test servers).
I've actually heard many anecdotal stories from other people in my condo (Hawaiian Tel basically made my building an offer it couldn't refuse, by wiring the entire condo with fiber for "free" in exchange for us committing to switching away from Oceanic Time Warner Cable) that they've also had problems with Hawaiian Tel "following up" with various installation related issues.
I suppose the fact that 4 separate guys showed up to my apartment to perform a Gigabit-fiber installation--yet none of them brought with them a Gigabit-capable laptop computer that would allow them to independently verify a good Gigabit connection--speaks volumes about their professionalism.
Hi.
This is the link here. The script is probably not great but it works a treat.
I chopped it around from different sources but essentially it connects to my mqtt server and subscribes to the topic "internet/download".
One of my Raspberry pi's is running a download speed test (via a cronjob) every 15 minutes and it publishes the resulting speed on the same topic.
In the .ino the "map" function changes the colour range based on speed from red (<10) to white (>25).
I hope that's useful.
Oh, and here's the python script on the pi It's slightly adapted from speedtest-cli on GitHub I just added in the mqtt bits.
Cheers Don
edit:typo
Well you said "connection... keeps dropping," which I took as "going down" rather than "slowing down." As in dropping connection.
I'd have expected Ookla to have a (public) API interface, but it doesn't appear they do. I did find this python library though.
Incidentally, once upon a time, there was a project called "Flash-Selenium" that would allow automation of Flash applications, though I think it might have required a custom-compiled swf. (I used a similar project called Selenium Flex which required that.)
You could add Entware and install python support to the router. Once done, you could install speedtest - cli and run some tests directly from the router...
If I'm reading that right, it's 26.5 MB/s which is around 200 Mbps--you should be getting a whole fuck-of-a-lot more if you have 10 Gbps
Try running speedtest cli: https://github.com/sivel/speedtest-cli
Is this a torrent speed or a speed test? Which provider did you end up going with? My connection with online.net would max private torrents at about 22MB/s - public torrents you're really at the mercy of the seeds. A great app to speed test is speedtest-cli https://github.com/sivel/speedtest-cli
If you're with Feral you can ask their reps to install it for you
If you're talking about transfer speeds from your box to your home connection, apparently there is not much you can do except for using "segmented FTP"
Example of my speed test: http://www.speedtest.net/result/4906656385.png
Hope this helps
Tools like LibreNMS/Observium could easily monitor the amount of bandwidth you use, and the speeds you get.
As far as logging trending behavior for latency and speed test, I would use something like speedtest-cli to get the data and put the output in Splunk. An easy way would be a cron job every 10 minutes, append to a log file and send that file to Splunk.
In fact, I'm going to look at setting this up for myself. Would make a great project.
EDIT:
This is what kind of output you get from speedtest-cli:
[root@server tmp]# ./speedtest-cli --simple Ping: 10.355 ms Download: 49.69 Mbit/s Upload: 24.39 Mbit/s
Could easily dump that into a log file and get that into Splunk.
Nope not the router. Had same issues connecting directly to the modem. Latency goes way up, connection very slow. Reboot modem and usually everything is fine.
Note I have an Asus RT-AC66U and brand new SB6183 which I is brand new since I just replaced it after I started having speed issues with by business class service.
I am sure that the issue is with Comcast, and for over $100 USD a month they should be able to figure out where they have noise issues or hardware issues.
FYI - here is the speedtestcli tool https://github.com/sivel/speedtest-cli
There is a cli option for speedtest. https://github.com/sivel/speedtest-cli , it is also available in the aur.
In my experience it works comparable to flash version as long as you are on < 500 mbit wan speeds. Above that, I found quite a lot of difference in reported speed (with cli version being wrong)
> The Pulse Server closest to the same price as my linode only says 1 Gbit/s Connection, so I was wondering which of these would provide the better connection?
That 40/250 is a max. You won't get it since it is shared(not dedicated to your server) with other customers. A good way to test is to install speedtest-cli and do a speedtest. https://github.com/sivel/speedtest-cli
For example, on vultr $8 package I get:
Testing download speed........................................ Download: 2524.43 Mbit/s Testing upload speed.................................................. Upload: 320.09 Mbit/s
which varies every time i run it, since it is a shared platform.
So, I can't speak for Pulse, but don't let marketing deceive you.
I modified https://github.com/sivel/speedtest-cli and scripted around it to do this. I ran it 200 times, each time against a different randomly selected server of the speedtest.net service.
I plotted with the incredible Gnumeric.
Average | Stdev | Median | |
---|---|---|---|
Distance km | 5696 | 3649 | 6351 |
Ping ms | 189 | 153 | 161 |
Download MBits/s | 108 | 129 | 54 |
Upload MBits/s | 15 | 17 | 9 |
Raw data: http://pastebin.com/raw.php?i=yJez5qbj
For the speedtest part may want to use this and pipe the output to a file , it should be in your distro's repo if not here is the github link to speedtest-cli
I fear this is the reality, it makes more sense also.
I forgot to include this in my main post but I had used speedtest-cli for various locations our players are on. Connections to Seattle, for example, <em>have 559ms latency</em>! Not sure how accurate these tests are, but it doesn't give me hope.
Thank you!
Might be possible to use Python with speedtest-cli.py on a schedule (cron for Linux, Task Scheduler on Windows). Not sure how easy it is to extract the data though.
At minimum, you could write the values to a text / CSV file and make graphs with Excel.