I have the 20,127/893 Kbps service through CenturyLink DSL. I've ran speed test and it typically reports speeds close to that.

Except whenever I upload something substantial. Like a video file to YouTube. The upload takes forever, which I understand because of the 893 Kbps upload speed, but the entire time it is uploading the download speed grinds to a halt. It is so bad I cannot even connect to SpeedTest.net to do a speed test. The networking between other computers in the house is fine. But as long as one computer is uploading, all the computers might as well be kicked off the internet. For example, pinging Google takes 5 seconds to resolve the DNS and then the requests time out.

I called CenturyLink's support and talked to them for an hour and they said everything is fine. They had me reboot my computer and modem a few times, which of course didn't help. Finally they sent me a new (refurbished) modem to get me off the phone. It behaves the same.

So my question is if this behavior is typical of CenturyLink DSL or if something is really screwed up. Perhaps there is something I can do it fix it without spending another hour rebooting my modem while I am talking to an inept support person.

  • Wow! 22.5 download to upload ratio!!! I'd avoid anything that's greater than 16 specifically because of what you're experiencing right now (and even 16 is a bit too much). – AndrejaKo Jan 7 '12 at 23:55
  • 1
    @AndrejaKo: Yeah, I wish they offered a faster upload speed. My only option is to take a slower download speed. – Jim McKeeth Jan 8 '12 at 0:45

The TCP protocol, which most Internet traffic uses, uses a "sliding window" scheme to provide reliability. This means it will only send new contents (slide the window) when it receives the ACK messages indicating that part or whole of the current window has been received completely. So it requires frequent ACK messages to be send in the uplink for your download traffic to go through smoothly If the ACK messages are delayed or lost, the sender may slow down transmission and/or retransmit packets that you have already received.

By default, packets are transmitted by the OS in the order they are generated by the applications, so the ACK packets are interleaved with your upload traffic randomly. Your ISP (or your network device) controls your bandwidth use by delaying packets when your transmission speed exceeds the limit (aka throttling). This delay can happen on any packet including the delay-sensitive ACK packets.

To solve this problem, you'll need some kind of priority system to make sure the ACK packets are not throttled. There are paid software solutions for this. You can also achieve a similar effect if you limit the upload speed to a value below your allocated upload bandwidth. Alternatively, you can use applications that transmit files through UDP which does not require ACK messages.

| improve this answer | |
  • 1
    So are you suggesting that because I am maxing out my upload pipe I am not able to make requests to download content simultaneously? – Jim McKeeth Jan 7 '12 at 22:28
  • 2
    That's essentially it. The TCP protocol, which is also used for Web uploads, will try to max out the link as much as it can when the ACKs messages are continuously flowing in. When the ACK messages start to go missing (or exceed a delay threshold), the sender will slow the transmission down dramatically and later gradually increase speed until the channel is saturated again. – billc.cn Jan 7 '12 at 22:35
  • 2
    I used to use cfosspeed. It helped a lot when I was torrenting on a ADSL link with only 512kbps uplink. However, ever since I switched to cable (with ~3Mbps uplink), it does not seem to have any effect any more... – billc.cn Jan 7 '12 at 23:18
  • 2
    Also, to directly limit bandwidth per process, you can use NetLimiter. – Christian Mann Jan 7 '12 at 23:55
  • 3
    Many years ago I had my own bsd gateway server at home, and I graphed how this looks like: kesor.net/blah/qos – Evgeny Jan 8 '12 at 3:51

You have two things going on here:

  1. Your uploading to a server, which is using most of your upload bandwidth and a bit of your download bandwidth to talk to the server to ensure the file is being received properly.

  2. Your trying to access the internet, which is using your download speed to talk from the internet, and using your upload speed to talk back to the server, to ensure the browser is receiving the files properly.

See the issue?

Your download speed is governed by many things: Line quality, level of service, location, wiring in the house, speed of the computer, upload speed, and any aberrational load on the system.

So, when you are uploading something, which is taking most of your upload bandwidth, and then try to download something from the internet, that download process doesn't have full access to your upload bandwidth, thus your DOWNLOAD speed is significantly reduced.

| improve this answer | |
  • 1
    So are you suggesting that because I am maxing out my upload pipe I am not able to make requests to download content simultaneously? – Jim McKeeth Jan 7 '12 at 22:34
  • 1
    In short, Yes :) – zackrspv Jan 7 '12 at 22:41

One solution to the problem of Centurylink's C3000Z modem download speed being killed when uploading, is to disable QoS. QoS sets a priority for VoIP (traffic shaping). So if you do not have VoIP service (which I do not) disabling QoS should give you about half (28Mbps) download speed while having it enabled when uploading a file (5Mbps) killed the download speed to .02Mbps. There is a setting in QoS to prioritize the download (set QoS direction), but I could not get it to stick. So I just disabled QoS altogether.

I do expect somewhat of a hit on the download speed when uploading, but it should not be half.

I will continue to look into this, but at least I have something working now with it disabled.

Don't believe those who say that uploading should kill your download, SINCE WHEN? Asynchronous does allow for the speed of your connection to work both ways efficiently.

| improve this answer | |
  • "Asynchronous" means more of your speed is reserved (usually) for download than for upload. That's exactly what it means. This also means that when the connection is saturated, download traffic is prioritized. "Synchronous" means both upload and download are equally prioritized. The first half of your answer MAY work only because it may downplay the effect of the asynchronous connection. Also, if you do use VOIP, disabling QoS is very likely to result in failed and dropped calls or very poor call quality. – music2myear Jul 30 '18 at 15:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.