Upgrading to Gigabit and Testing it with netcat
When I setup the network connection to the room in my apartment I bought a
Mbps switch, choosing not to spend the extra $20 for gigabit. Today I’m
upgrading to a gigabit switch, having realized that the
100 Mbps switch is
what’s limiting local traffic between my desktop and server.
The other part of my motivation comes from setting up a new ZFS mirror on my desktop and wanting to transfer data off my sever to the mirror over the network. I then plan on streaming media from the desktop to the server, which is being repurposed to a HTPC (with a much smaller SSD instead of the failing 2TB drive in it now).
Before I swapped in the new switch I wanted to test the network transfer speeds, something I have never really done before, just so I can see the speed increase associated with the new switch.
I found this guide helpful, and we’re basically following along here.
To test the
100 Mbps connection we’ll use
netcat. I am testing from my
desktop to my server. We’ll need netcat on both computers we want to test. On
the server (which runs Ubuntu 12.04) we’ll need to install the
We’ll also need netcat on the desktop (running Arch linux). The package is
100 Mbps Test
To start we’ll need to setup the listening part of the connection on the server:
The flags here get us a very verbose output (the two
up listen mode,
-n tells us we want to user numeric-only IP addresses, not
-p 2222 tells netcat to listen on port 2222.
> /dev/null redirects
all the traffic we send to
Then, on the desktop, we can send some traffic to the server:
time to track how long we send traffic for. You’ll want to stop
this after about 10 seconds by hitting
ctrl+c. (If you don’t it’s no big
deal, you might just actually wrap the integer count on received traffic,
making it more difficult to calculate speeds.) On the server we’ll see a
message like this:
Now we just need to calculate our resulting speeds. You’ll notice in the sent
traffic the units are bytes. So we’ll take our
110498864 bytes and multiply
8 bits/byte and divide by the
9.398s to get
94061599.5 bytes/s, or
This is in line with the
100 Mbps switch that I have right now. Let’s swap in
the Gpbs switch.
1000 Mbps Test
The switch I got was this Netgear 5 Port Gigabit switch from Newegg. They were running a deal for $19.99 with mail in rebate, so I jumped on it.
The switch indicates that both lights surrounding the ports will illuminate with gigabit traffic, and upon plugging everything in, they are both blinking, so I expect to see gigabit speeds.
Running a test we get the following results:
687.9 Mbps, much better than our previous
94 Mbps. Not exactly
1000 Mbps that the switch can do, but I’m much happier with it. Perhaps
something else is limiting me now, though I’m not sure what it is, as the
router is also gigabit wired.
Just to check repeatability I tried the 100 Mbps switch connection a day after this first test, below are the results:
So a pretty repeatable
On the gigabit switch I get some more variability, repeating the test a week or
so after installing it I got as much as
728 Mbps, which makes me suspect
other network traffic on the router is limiting what I can get, though I don’t
know enough about a router handles traffic to all it’s ports to know if that’s
a true statement.
I have put a lot of traffic over the new switch in the past week since I installed it. I’m definitely appreciating the upgrade in speed. If you know your switch is limiting your speeds and want a cheap upgrade to boost your local network speeds I can’t recommend a gigabit switch enough, and Netgear products have always done well for me.