You want to test your 1GE or 10GE internet uplink? We needed to ensure we have full 10GE to the backbone for a customer project.
Using netcat
To test whether we can achieve the bandwidth internally, you can use netcat and dd like this:
On your first server: nc -v -l 55333 > /dev/null
On your second server: dd if=/dev/zero bs=1024K count=5000 | nc -v $remote_ip 55333
You should see some output like this:
user@xxx:~ % dd if=/dev/zero bs=1024K count=5000 | nc -v removed 55333
Connection to 91.250.95.249 55333 port [tcp/*] succeeded!
5000+0 records in
5000+0 records out
5242880000 bytes transferred in 4.982206 secs (1052320978 bytes/sec)
Downloading from many public mirrors
To ensure you have the bandwidth available to the Internet use the following Ruby snippet:
File.open("mirrors").each_line do |l|
command = "fetch -q #{l.strip} -o /dev/null &"
system command
end
You can use the mirrors
file attached. Be careful though, this will lead to seriously bandwidth usage on your public interface.
Use killall fetch
as soon as you can see the expected traffic rate after a few seconds, e.g. by using nload
.
We have two redundant auto-failover FreeBSD load balancers for our Ruby on Rails hosting setup that are connected to the Internet backbone with a 10GE interface pipe. All other components are redundant, too. Interested? See http://railscomplete.de Show archive.org snapshot