From previous article, Bandwidth VS. Throughput, now you can determine whether your throughput is on trouble or not. It means your Internet connection is slower than what you expected (based on TCP Throughput calculation formula). This article is intended to discuss about how to troubleshoot slow Internet connection and how it can be improved. Below story would be focused on ISP link for business, but not residential grade broadband links, such as DSL, Fios and cables. However, you can still apply thoerical idea into it.
- Internet Speed Issue – Bandwidth VS. Throughput
- Internet Speed Issue – How to troubleshoot(FTP)
- Internet Speed Issue – How to troubleshoot(IPERF)
- Internet Speed Issue – Why TCP window size is matter
- Internet Speed Issue – How to use TCP window scaling option
- Internet Speed Issue – Optimal MTU size on VPN
or others
[ RTT(Round Trip Time) ]
RTT is an important factor in order to measure TCP throughput. If you are using default TCP window size, RTT is only factor to determine TCP Throughput. So, when you start TCP Throughput troubleshooting, make sure what is RTT between source (your device) and destination device. You can use ping command from DOS prompt. Use average number, but not higher or lower numbers.
TCP Throughput = Window size (Default 64Kbytes) / RTT
[ Testing environment ]
In most case, end-users are not troubleshooting in meaningful testing environment. What does that mean? Well, think about this ISP has demarcation where is terminated their service and SLA (Service Level Agreement) will save you up to demarcation. ISPs have responsibility up to where they ended their service. In my case, 95% customer believed internal network, LAN portion of network included firewall, switches, VPN concentrator and switches, is fine and issue is on the ISP’s backbone. It is common mistake to take longer time to fix an issue.
Below Pic 1 is typical end-user network.
Pic 1 – How to troubleshoot TCP Throughput
When you are escalating a slowness issue to ISP, end-up they would request below testing environment.
Pic 2 – How to troubleshoot TCP Throughput
Probably if you can make above testing environment yourself and prove and isolate an issue would be good idea before open a ticket with ISP.
In my experience, most of case, issue was related to
- Lack of TCP Throughput knowledge
- Firewall issue
- Bad switch port or duplex speed mis-matching
If link is production environ environment, it won’t easy to achieve Pic 2 testing environment.
However, if you spare port of your router, you can assign and configure with separated IP block from your main stream. Most of case, you can ask ISP to assign temporary IP for the testing. If they said "No", then well open ticket with them and reported slowness trouble. Finally, you would get temp IP from them.
[ Tools ]
"Do not spend much time with public online based testing sites"
There are tons of online based speed testing tools on the Internet. It’s free and easy to access. And it provides nice graphic user interface. I believe you know which site I am talking about. 99% of end-user opens a ticket after testing with those webs based online tools. I don’t want to say those services are fake or wrong, but I want to mention that an output wouldn’t be accurate. Why? Their service would be overwhelming while so many people are using it at the same time. Also, bandwidth to the Server from ISP. Unpredicted traffic would be impacting the output result you received. If you have mission critical link or looking more accurate TCP throughput testing, refer to Pic 2 testing environment or ask a help from ISP.
FTP server and client software
FTP testing is most common and easier to measure TCP throughput. Find a ftp server around your location. Also, you can ask one for ISP. They would have one for your testing due to they were facing those slowness issue all the time. You can use any FTP client software to see live TCP throughput. I recommend Filezilla which is open source, cost free software. Remember below tips
- Change Byte to bit
- Figure RTT(Round Trip Time)
- Frequently check testing device’s condition and Internet link utilization
Below example is using FileZilla FTP client software. Downloading 80M file from the FTP server.
Pic 3 – How to troubleshoot TCP Throughput
Pic 4 – How to troubleshoot TCP Throughput
From above example, downloading file from server, a live TCP throughput is 2.7Mbytes per second. Once you denote it to bps, it will be 2.7Mbytes x 8 bits = 21.6Mbps
RTT to the server is 23.7ms, so from TCP Throughput calculation formula
(64Kbps x 8) / 0.0237 = 21.6Mbps
Continued on "Internet Speed Issue – How to troubleshoot(IPERF)"