All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Coded a speedtest script that test your server's upload and download speeds
wget dl.getipaddr.net/speedtest.sh 2>/dev/null -O- | bash
I had some motivation to write a speed test script that supports both download and upload. Currently it runs on my two spare VPSes. Please let me know if there are issues and preferably, send any security related issues via PM.
Of course providers can donate a container and I'll be sure to add a link to your site in the speedtest results. I can get by with 64 MB of ram but preferably 128 MB and no more than 5 GB of space is needed. Currently it uses 10 MB download + 10 MB per test. 100 GB/month will get you 5120 views /month Uploaded files are deleted once every minute and the ftp user has no shell access.
Protip: if you can't remember the command at the top of your head, visit http://dl.getipaddr.net, it'll display some other useful information as well.
Comments
it's working perfect ...
I get:
ftp: bind: Address already in use
(standard_in) 1: syntax error
Try it now. If it still doesn't work, let me know which OS you're running so maybe I can emulate the issue.
Working fine on CentOS 6.4 64bit, though.
I spun up a CentOS 5.6 container. For some reason ftp outputs the upload rates in scientific format (number.0e+power). I believe this has been corrected.
Working good now.
I tried it, It works good.
It worked
root@vserv01:~# wget dl.getipaddr.net/speedtest.sh 2>/dev/null -O- | bash Speedtest from Houston, TX, USA on a shared 1 Gbps port Download Speed: 2.59 MB/s Upload Speed: 2.1 MB/s Speedtest from Tallinn, Estonia on a shared 1 Gbps port Download Speed: 8.77 MB/s Upload Speed: 7.3 MB/s Speedtest from Los Angeles, CA, USA [ generously donated by http://maximumvps.net ] on a shared 1 Gbps port Download Speed: 3.55 MB/s Upload Speed: .8 MB/s
Testing US locations Speedtest from Houston, TX, USA on a shared 1 Gbps port Download Speed: 1.10 MB/s (standard_in) 1: syntax error Speedtest from Los Angeles, CA, USA [ generously donated by http://maximumvps.net ] on a shared 1 Gbps port Download Speed: 2.11 MB/s (standard_in) 1: syntax error -e Testing EU locations Speedtest from Tallinn, Estonia on a shared 1 Gbps port Download Speed: 2.87 MB/s (standard_in) 1: syntax error
That's on ubuntu server 12.04
@udk I was unable to produce the bug on the same OS.
Can you run this for me and tell me what it says either here or via PM?
# wget dl.getipaddr.net/test.sh 2>/dev/null -O- | bash Speedtest from Houston, TX, USA on a shared 1 Gbps port Download Speed: 1.82 MB/s upload data raw -> Connected to 209.148.94.14. 220 ProFTPD 1.3.4a Server (Speedtest) [::ffff:209.148.94.14] 331 Password required for speedtest 230 User speedtest logged in Remote system type is UNIX. Using binary mode to transfer files. local: 10mb.test remote: 10mb.test 500 Illegal PORT command 221 Goodbye.
Well done sir
maybe you need to install ftp
Maybe put this in wiki. it might be pushed down by other threads
udk - I think I may have fixed this by giving you the option to enable PASV mode.
If that still doesn't work, it's more likely that a firewall or the network you're on is preventing you from receiving data on a particular port. The server is getting a private IP as the return address, which is not route-able through the public internet.
I added another feature that lets you force 100MB file test instead of 10MB to overcome TCP Vegas' congestion avoidance so you can get a better sample result. Please only use this when you feel absolutely necessary because it's 10 times more bandwidth overall.
If you want more information about the options, go here.
@black, wget dl.getipaddr.net/ENABLEPASSIVESPEEDTEST appears to be a blank file, am I missing something?
I'm trying this on a server without a public IP (NAT), but I didn't think that would make a difference!
Perhaps you should consider using HTTP POST to send 10MB of data via HTTP? Would be a lot safer imo - wget even supports this.
piping remote scripts directly into bash lulz
udk - It is supposed to be a blank file, yeah. Basically I can't pass arguments to a live bash script so if you want certain options enabled, you wget a blank file, the speed test script checks if that file exists on your system (does not look in the file for contents) and enable that option accordingly.
I chose an FTP upload implementation because
1) no execution privileges on anything because the user has no way of executing any files
2) I don't have to calculate my own speed metrics, I'm not sure if you have to with HTTP Post
3) I'm not too familiar with php in terms of security or settings on how to set a buffer space for large files (like 100MB) that doesn't impact negatively on the speed test results.
It does seem like it'd cut down on the problems and setup though. I'll look into it this weekend and see if I can swap out ftp for HTTP POST if I can familiarize myself properly. Thanks!
@fly no balls no glory
Feel free to have a look at the code before you run it.
can you not get http post speeds the exact same way you get the download speeds (using wget)?
@udk - I tried to get it working with wget, but wget's speed results refers to the download speed of the remote server's results, not the upload results to the server. After reading the man pages
so that's an issue as well. I think the next step is to use curl.
4 hours later edit:
everything is now transferred via http using curl. wget and ftp are no longer used. Hopefully this will bypass the firewall issues. The code is a lot cleaner as well
Testing US locations
Speedtest from Houston, TX, USA on a shared 1 Gbps port
Download Speed: 17.67 MB/sec
Upload speed: 6.75 MB/sec
Speedtest from Los Angeles, CA, USA [ generously donated by http://maximumvps.net ] on a shared 1 Gbps port
Download Speed: 13.69 MB/sec
Upload speed: 1.54 MB/sec
Speedtest from Dallas, TX, USA on a shared 4x1 Gbps port
Download Speed: 53.38 MB/sec
Upload speed: 42.99 MB/sec
Testing EU locations
Speedtest from Tallinn, Estonia on a shared 1 Gbps port
Download Speed: 1.48 MB/sec
Upload speed: .35 MB/sec
Nice
Thanks.
I made some improvements in the code and it now prints the results asynchronously.
One more test location (South Bend, Indiana) has been added due to someone's generosity.
I might add one east coast test location (Montreal, Canada) if @MCHPhil still has some yearlies in stock.
Sorry to bump this but I can't edit my original post.
I've added Buffalo NY, Clifton NJ (thanks to dedicatedminds) , Atlanta GA (thanks to hostUS).
Speedtest also runs a CPU benchmark of how long it takes to calculate PI to 5,000 decimal places.
Works great, nice work
Yep, good work
-k0nsl
working great
I'd like to donate a VPS for this in Dallas. What do I need to do?