Using a tool like iperf.exe you can measure bandwidth very good without interfering pc's or disk I/O. It measures precisely what the bandwidth is for a connection. Let me explain how to set it up.
iperf.exe has a 'server' switch -s and a client switch -c. The thing is to setup a server instance on the server with iperf.exe -s, let's say the file-server. Then on the client connecting to the slow server responsible with the -c switch.

iperf.exe -s

iperf.exe -c 'ipaddress of the fileserver'

The quality of a link can be tested as follows:
- Latency (response time or RTT): can be measured with the Ping command.
- Jitter (latency variation): can be measured with an Iperf UDP test.
- Datagram loss: can be measured with an Iperf UDP test.

Usage: iperf [-s|-c host] [options]
iperf [-h| —help] [-v| —version]

-f, —format [kmKM] format to report: Kbits, Mbits, KBytes, MBytes
-i, —interval # seconds between periodic bandwidth reports
-l, —len #[KM] length of buffer to read or write (default 8 KB)
-m, —print_mss print TCP maximum segment size (MTU - TCP/IP header)
-o, —output <filename> output the report or error message to this specifie
d file
-p, —port # server port to listen on/connect to
-u, —udp use UDP rather than TCP
-w, —window #[KM] TCP window size (socket buffer size)
-B, —bind <host> bind to <host>, an interface or multicast address
-C, —compatibility for use with older versions does not sent extra msgs
-M, —mss # set TCP maximum segment size (MTU - 40 bytes)
-N, —nodelay set TCP no delay, disabling Nagle's Algorithm
-V, —IPv6Version Set the domain to IPv6

Server specific:
-s, —server run in server mode
-D, —daemon run the server as a daemon
-R, —remove remove service in win32

Client specific:
-b, —bandwidth #[KM] for UDP, bandwidth to send at in bits/sec
(default 1 Mbit/sec, implies -u)
-c, —client <host> run in client mode, connecting to <host>
-d, —dualtest Do a bidirectional test simultaneously
-n, —num #[KM] number of bytes to transmit (instead of -t)
-r, —tradeoff Do a bidirectional test individually
-t, —time # time in seconds to transmit for (default 10 secs)
-F, —fileinput <name> input the data to be transmitted from a file
-I, —stdin input the data to be transmitted from stdin
-L, —listenport # port to recieve bidirectional tests back on
-P, —parallel # number of parallel client threads to run
-T, —ttl # time-to-live, for multicast (default 1)

-h, —help print this message and quit
-v, —version print version information and quit

[KM] Indicates options that support a K or M suffix for kilo- or mega-

The TCP window size option can be set by the environment variable
TCP_WINDOW_SIZE. Most other options can be set by an environment variable
IPERF_<long option name>, such as IPERF_BANDWIDTH.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License