netio - a tool to measure network speed across operating systems

Written by - 0 comments

Published on - Listed in Windows Linux BSD Backup Network


On a newly installed server running FreeBSD 9.2, I verified if the local backup was running correctly. I got aware that the backup was still running - after 24 hours.

That there's an issue was clear. But where could it be? Could it be a problem of the backup script on the new FreeBSD 9.2? Is it a network issue? Is the target server running on Windows causing the problem?

A friend of mine suggested to test the network speed between the FreeBSD and the Windows machine with netio - a tool written by Kai Uwe Rommel.

I quickly read the documentation and this tool is just plain simple cool. It allows to test the network speed between different hosts, but more importantly between different operating systems. We used netio version 1.32 which contained binaries for the following OS:

  • aix-ppc64
  • freebsd-i386
  • linux-i386
  • linux-x86_64
  • mac-osx-10.5
  • os2-i386
  • sol10-i386
  • sol9-sparc
  • win32-i386

So in our case we needed to test the speed between the client (FreeBSD 9.2, 64bit) and the server (Windows).

On the server, the Windows binary was launched in "server" mode:

C:\netio\win32-i386.exe -t -s

On the client side, the FreeBSD binary (yes, the i386 binary runs on the 64bit FreeBSD, but the 32bit compat libraries were installed) was launched with the IP of the destination server:

./freebsd-i386 -t 10.10.11.12

I checked the output of the client, which looked like that:

TCP connection established.
Packet size  1k bytes:  228.53 KByte/s Tx,  8387.64 KByte/s Rx.
Packet size  2k bytes:  125.29 KByte/s Tx,  7220.05 KByte/s Rx.
Packet size  4k bytes:  112.90 KByte/s Tx,  7898.72 KByte/s Rx.
Packet size  8k bytes:  122.81 KByte/s Tx,  6514.49 KByte/s Rx.
Packet size 16k bytes:  137.92 KByte/s Tx,  7823.70 KByte/s Rx.
Packet size 32k bytes:  97.14 KByte/s Tx,  8604.95 KByte/s Rx.
Done.

I was surprised by the very low sending speed (Tx) and was pretty sure that it must be something with the interface.
An ifconfig confirmed my suspicion:

media: Ethernet autoselect (100baseTX <half-duplex>)

Argh... the network switch's port was set to half-duplex.
After changing it to auto-negociate, the FreeBSD OS immediately updated the entry in ifconfig:

media: Ethernet autoselect (1000baseT <full-duplex>)

The new netio results were confirming that the wrong switch port config was responsible for the slow network speed and therefore a very slow backup process:

TCP connection established.
Packet size  1k bytes:  51.36 MByte/s Tx,  108.17 MByte/s Rx.
Packet size  2k bytes:  105.01 MByte/s Tx,  108.37 MByte/s Rx.
Packet size  4k bytes:  110.98 MByte/s Tx,  109.66 MByte/s Rx.
Packet size  8k bytes:  111.17 MByte/s Tx,  110.37 MByte/s Rx.
Packet size 16k bytes:  105.96 MByte/s Tx,  103.87 MByte/s Rx.
Packet size 32k bytes:  110.06 MByte/s Tx,  110.52 MByte/s Rx.
Done.

So netio is a great tool to measure the network speed between two hosts running different operating systems. And no installation is required.


Add a comment

Show form to leave a comment

Comments (newest first)

No comments yet.

RSS feed

Blog Tags:

  AWS   Android   Ansible   Apache   Apple   Atlassian   BSD   Backup   Bash   Bluecoat   CMS   Chef   Cloud   Coding   Consul   Containers   CouchDB   DB   DNS   Database   Databases   Docker   ELK   Elasticsearch   Filebeat   FreeBSD   Galera   Git   GlusterFS   Grafana   Graphics   HAProxy   HTML   Hacks   Hardware   Icinga   Influx   Internet   Java   KVM   Kibana   Kodi   Kubernetes   LVM   LXC   Linux   Logstash   Mac   Macintosh   Mail   MariaDB   Minio   MongoDB   Monitoring   Multimedia   MySQL   NFS   Nagios   Network   Nginx   OSSEC   OTRS   Observability   Office   OpenSearch   PGSQL   PHP   Perl   Personal   PostgreSQL   Postgres   PowerDNS   Proxmox   Proxy   Python   Rancher   Rant   Redis   Roundcube   SSL   Samba   Seafile   Security   Shell   SmartOS   Solaris   Surveillance   Systemd   TLS   Tomcat   Ubuntu   Unix   VMWare   VMware   Varnish   Virtualization   Windows   Wireless   Wordpress   Wyse   ZFS   Zoneminder