Bandwidth Test
Bandwidth Test
http://cisconet.com/traffic-analysis/traffic-analysis-general/239-internet-speed-issue-throughput-vs-
bandwidth.html
Anyway, if you have a high speed broadband or serial links (DS3, OCs and Metro Ethernet) for Internet, do you believe maximum
download speed is same as your subscribed Internet speed? In another word, if you have DS3 45Mbps (bandwidth) link to ISP, do
you think you will get 45Mbps downloading speed? or TCP throughput, when you download files or transferring data to other
location? Most of people might say, of course that's what I am paying for. However answer is "Yes" and "NO". Let's figure why that
is!
Definition
First, let's see what is definition of Throughput and Bandwidth. From the Wikipedia,
Definition of Bandwidth is
"A data rate measured in bits per second"
Definition of Throughput is
"Average rate of successful message delivery over a communication channel. These data
may be delivered over a physical or logical link, or pass through a certain network node.
Bandwidth
In general, both Bandwidth and Throughput are usually measured in bit per second.
Meaning of Bandwidth is not too difficult to understand. Also, scope of bandwidth is normally considered between ISP edge device
(router) and CPE.
See below diagram shown DS3 (45Mbps) VS. T1 (1.5Mbps). Simply says DS3 is 28 times bigger than T1. Easy~
Pic 1 - Bandwidth VS. Throughput
Throughput
Understanding of Throughput is sort of trick and you might need to use your brain a bit. See below picture shown simple testing
environment involved a server and client devices are located at US and other client device is located far away at Asia (China). All
connection to ISPs is 45Mbps (high-speed Internet).
• All devices have same TCP window size 64K bytes(65535bytes, standard size for most of window OS, but not NT and
older)
• Testing devices are only machines are connected to ISP on each locations.
• Testing devices are only machines are generated traffic between locations.
• No congestion between nodes.
• No packet lost betwween nodes.
• RTT(Round Trip Time) is Server(New York) to Client (Chicago) = 30ms
• RTT(Round Trip Time) is Server(New York) to Client (Japan) = 200ms
Based on TCP Throughput calculation formula, throughput of upload / download between each node are below.
TCP Throughput NY to Chicago = 512000 (64000 bytes x 8) bits / 0.03 second = 17066666 bps = 17Mbps
TCP Throughput NY to Japan = 512000 (64000 bytes x 8) bits / 0.2 second = 2560000 bps = 2.560Mbps
Here is a theoretical TCP throughput under the assumption; both clients at Chicago and Japan won't reach 45Mbps bandwidth
which is subscribed bandwidth.
So, while the client at Chicago was downloading a file or transferring data from the server at New York, both end of DS3 links will be
utilized only 37% of total bandwidth. Also, in other case, both side of DS3 will be utilized only 5.6% of total bandwidth.
So, we can imagine that simply 3 clients can transfer data at the same time without overutilization in the first case (Pic 2), and on the
second case (Pic 3); about 17.5 clients can transfer data.
Now, you might say "It is not true, I get more than 35Mbps throughput at similar environment!" Okay Okay, hold on~. Yes you can
get more throughputs. I didn't say you can get better throughput. We have reviewed in general circumstance. We will talk about how
we can increase throughput on other article within Internet Speed Issue series. - "Internet Speed Issue - How to use TCP
window scaling option".
I hope you got some idea about what are Throughput and bandwidth.
"Do not screaming that Throughput is not improved after you have upgraded Bandwidth."
==================================================================================
http://www.speedtest.net/qna.php
• Why don't I get my best speeds to the server that is closest to me?
The Internet does not operate in direct paths. A server might be physically close to you, but the
route to get it it could actually travel to another part of the country and back before getting to it.
The server with the shortest "network distance" should end up being your best, and while this is
often the closes one geographically it sometimes is not. Try several servers to find your best one.
Back to top
You have likely noticed that downloading from a local server location is faster than a distant one.
This is because the TCP window (and therefore HTTP transfers) is not optimized for the
increased latency that comes from an increase in distance.
Back to top
HTTP is technically bound by the TCP "congestion window" which determines how many
packets can be sent at one time. The larger the window size, the higher the throughput. Latency
directly affects this because slower responses will create delays between packet sends.
Back to top
2. BAGAIMANA MELAKUKAN TEST BANDWIDTH
Ada 2 cara yang paling mewakili untuk melakukan tes bandwidth, yakni tes menggunakan iperf dan tes
dengan cara melakukan download file.
TEST IPERF
3. Buka cmd (command prompt) pada windows, sesuaikan directory pada cmd dengan tempat file
iperf berada, baik itu di sisi client maupun di sisi server
4. Command untuk mengaktifkan sisi server adalah: iperf -s
Jika ingin menggunakan udp menggunakan –u
5. Untuk sisi Client, tes satu arah dari sisi client ke arah server :
Hasil akhir:
6. Untuk tes 2 arah (-d) dengan interval 60s (-t60),default test adalah 10s
7. Untuk tes ke site internasional bisa menggunakan server iperf.wiscnet.net
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
Client connecting to iperf.wiscnet.net, UDP port 5002
------------------------------------------------------------
[1700] local 118.97.114.170 port 1538 connected with 205.213.110.244 port 5002
[1700] 0.0-30.0 sec 17.9 MBytes 5.00 Mbits/sec 2.527 ms 3/12758 (0.024%)
Terbaca dari hasil diatas, dari NetPersec didapat Laptop mengirimkan (sent) paket dengan besar sekitar 5.2 M dan
dari hasil report iperf didapat server report terbaca 5.00 Mbit/s dengan loss 0.024% (upload)
Selain itu dari NetPerSec terdapat trafik masuk (received) sekitar 4Mbit/sec, hal ini menunjukkan untuk pengiriman
paket sebesar 5M maka besaran paket yang dapat lewat dari server iperf.wiscnet.net sampai ke laptop adalah
sekitar 4Mbit/s (download)
Selain menggunakan iperf juga bisa menggunakan jperf yang merupakan bentuk GUI dari iperf
DOWNLOAD
Referensi :
1. http://www.speedtest.net/qna.php
2. http://cisconet.com/traffic-analysis/traffic-analysis-general/239-internet-speed-issue-
throughput-vs-bandwidth.html
3. http://dast.nlanr.net/Projects/Iperf/
4. http://en.wikipedia.org/wiki/Measuring_network_throughput
Client/Server:
-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)
Miscellaneous:
-h, --help print this message and quit
-v, --version print version information and quit
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.
eoc2009