I’ve set up an FTP server. My ISP is giving me an ADSL connection with an speed it says is 768k for uploads and 8M down. And yet I’m seeing my uploads are around 85k and 90k.

I need faster uploads. Can I change something about my system to make that happen?

There’s one big potential point of confusion here, so let’s take this opportunity to review upload and download speeds, what they really mean, and what you can do to maximize them.

The person asking the question had also gone to some of the online speed testing sites, such as Broadband Reports. The numbers being shown there more-or-less matched the figures that his ISP was providing.

That’s actually good news. And, to be honest, I’m quite jealous. 768k up / 8M down looks wonderful to me – because of telephone company limitations (and no cable in my area) I’m limited to 128k up and 768k down. Once upon a time that was blazingly fast. Now, not so much. Did I mention I’m jealous?

But just what do those numbers mean?

First, realize that they’re measurements in bits per second or bps. That means on my DSL connection, I can upload at a maximum speed of 128k, or 131,072 (128 x 1,024) bps. Similarly, I can download at a maximum of 785,432 (768 x 1,024) bps. My faster questioner can upload at 785,432 bps and download at a whopping 8,388,608 (8 x 1,024 x 1,024) bps.

But we measure downloads and file sizes in bytes, not bits. So a more meaningful number might be the download speed in Bytes per second (Bps – notice that the “B” is capitalized? Subtle). With 8 bits to a byte, a speed of 768k bits per second works out to… 98,304 Bytes per second, or 96KBps.

So when you say that you’re seeing uploads at around “85k and 90k” it leads me to wonder if you’re measuring your uploads in Bytes per second, and comparing to the line speed expressed in bits per second. If that’s the case, then the numbers you’re seeing are quite reasonable.

Why aren’t they actually at the 96KBps I calculated your line speed to be in Bytes per second?

In a word: overhead. If you’re measuring based on file size, then the communications protocols involved in transferring that file break it up into “chunks,” adding a little bit of overhead data to each chunk to create a packet that can then be properly reassembled into the original file. There are also overhead delays involved in most communications protocols – the time it takes to start sending each packet and the time it takes to verify and acknowledge back that the packet was properly received.

Because of that overhead, I typically just divide by 10 for a rough estimate of actual, effective transfer rate. My 768kbps DSL roughly downloads at around 76KBps, or 76k Bytes per second. Very roughly. But it’s slightly easier math, then, to see about how long my next download will take.

And of course other network traffic can affect the effective speed as well. If you’re downloading your email while you’re uploading a file on the same internet connection, both operations will slow down some. If you’re on cable, you’re actually sharing your bandwidth with your neighbors – so if they’re doing something internet-intensive, that could also impact your speeds.

The bottom line here is that your connection to the internet is most likely your real bottleneck. Barring other software on your machine that’s ‘clogging the line’ trying to do something on the internet at the same time you are, you’re at the mercy of the capacity of that line, and what your ISP can provide you.