Rust clone of Kai Uwe Rommels' NETIO Benchmark that I've always greatly enjoyed using, but that (imho) has a couple downsides:
- It was Not Invented Here (obviously)
- The server side output differs from the client side and is far less readable
- The license prevents it from ever hitting any repos (and Kai does not provide his own)
And because I wanted to take a look at Rust anyway, I thought I'd go ahead and write a clone for fun and great justice.
- Nice tabular output on both client and server side
- IPv6 ready
- Tests with extremely small packets (like those of an SSH connection when someone's extremely good at typing)
- binaries for Windows and Linux available (64 bit
--release
builds)
wget -O /usr/local/bin/netio https://github.com/Svedrin/netio/releases/latest/download/netio-x86_64 && chmod +x /usr/local/bin/netio
Install the Visual C++ Redistributable for Visual Studio 2015.
Right-click this link, "save as", store to somewhere easily accessible via cmd.exe
.
Here's how to use it. Server side:
root@hive:# netio -1
TCP server listening.
New connection from V6([2001:6f8:108f:1:c0c6:73c3:8b5:214c]:40704).
Packet size 32 bytes: 18.40 MBit/s Rx 21.40 MBit/s Tx
Packet size 64 bytes: 18.16 MBit/s Rx 20.87 MBit/s Tx
Packet size 1024 bytes: 18.59 MBit/s Rx 19.48 MBit/s Tx
Packet size 1492 bytes: 17.90 MBit/s Rx 20.32 MBit/s Tx
Packet size 1500 bytes: 18.79 MBit/s Rx 19.68 MBit/s Tx
Packet size 2048 bytes: 19.46 MBit/s Rx 20.25 MBit/s Tx
Packet size 16384 bytes: 18.53 MBit/s Rx 14.21 MBit/s Tx
Test finished.
Client side:
root@dev-psql-n1:~# netio 192.168.42.10
Connected to V4(192.168.42.10:55455).
Packet size 32 bytes: 422.29 MBit/s Tx 406.65 MBit/s Rx
Packet size 64 bytes: 827.98 MBit/s Tx 804.86 MBit/s Rx
Packet size 1024 bytes: 9.38 GBit/s Tx 6.83 GBit/s Rx
Packet size 1492 bytes: 9.38 GBit/s Tx 9.40 GBit/s Rx
Packet size 1500 bytes: 9.38 GBit/s Tx 9.39 GBit/s Rx
Packet size 2048 bytes: 9.38 GBit/s Tx 9.40 GBit/s Rx
Packet size 16384 bytes: 9.39 GBit/s Tx 9.40 GBit/s Rx
Test finished.
Netio uses TCP port 55455. The client always connects to the server, and then traffic flows in both ways. This way you can easily test your internet connection by running the server on an online node and the client on your notebook.
git clone https://github.com/Svedrin/netio.git
cd netio
cargo build --release
Note that the debug build seems to only reach throughput rates around 1.3Gbit/s, so if you're
going to benchmark a 10GE link, you need to build netio with --release
.