download speeds

Discussion in 'Computer Science & Culture' started by synthesizer-patel, May 24, 2008.

Thread Status:
Not open for further replies.
  1. synthesizer-patel Sweep the leg Johnny! Valued Senior Member

    Messages:
    2,267
    I've noticed that whenever I download a file, the dl speed always starts relatively high, then in the first few seconds it quickly drops down to a much lower speed, then remains more or less stable.

    why does this happen?
     
  2. Google AdSense Guest Advertisement



    to hide all adverts.
  3. Blue_UK Drifting Mind Valued Senior Member

    Messages:
    1,449
    Your ISP, some other intermediatory or even the transmitting party can control bandwidth usage by 'throttling back' the throughput.

    However, measuring the number of packets and controlling the bandwidth on a per-user basis is a computationally intensive task. So for pragmatic reasons, the bandwidth filters are a little laggy in their control in exchange for them being simpler. If you suddenly start downloading data from a fast source, it may take a few seconds for the filter to pull that down.

    That's one possible explanation, anyway!
     
  4. Google AdSense Guest Advertisement



    to hide all adverts.
  5. Nesm Registered Senior Member

    Messages:
    125
    When you click on a link to download a file, a popup appears asking if you'd like to 'Save to Disk', 'Open With' etc. I've noticed that if I immediately choose an option and click 'Ok', the download speed stays steady from the start. However, if I leave the popup open for a while, and then click ok, the download will start at insanely high speeds, then gradually level out at a normal speed.

    It seems that when the popup appears to present your download options, the file already starts to download in the background. So when you make your choice and click ok and the download progress bar appears - the browser seems to make the progress bar move forward (to account for the already downloaded data) by displaying a high download speed to move the progress bar along more quickly. Then when the progress bar catches up to data which is currently being downloaded - it slows down, and so does the displayed download speed.

    Thats what I've noticed.
     
  6. Google AdSense Guest Advertisement



    to hide all adverts.
  7. Xelios We're setting you adrift idiot Registered Senior Member

    Messages:
    2,447
    It's probably what Nesm suggested, your browser calculates download speed beginning after you've selected where to save the file. But the download itself starts as soon as you click the link, and this throws off the speed estimate.

    Some ISP's (like Comcast) actually give you a boost of speed for the first few seconds of a download then throttle it back down. With Comcast it's advertised as a feature, though I forget what they call it.
     
  8. synthesizer-patel Sweep the leg Johnny! Valued Senior Member

    Messages:
    2,267
    That may happen but I don't think that's the reason for such drastic drops in speed - for example last night I was downloading a video file from FLVCD - which has notoriously patchy download speeds.
    Speeds went from around 80KBps to 1KBps in a matter of seconds - so your explanation doesn't really account for such a drastic drop unless I waited for over a minute to hit save.

    By the sound of it Blue_UK is closer to the mark - question is - can I subvert it ?
     
  9. Gustav Banned Banned

    Messages:
    12,575
    ah
    the packets jumped from a surface st onto a los angeles freeway
     
  10. Stryder Keeper of "good" ideas. Valued Senior Member

    Messages:
    13,105
    On Microsoft OS's there is BITS (Background Intelligent Transfer Service) I don't think it's meant for all transfers however it can reserve up to 20% of your bandwidth for OS Updates etc. When it does this it goes through a process of calculating available bandwidth and iterates it to your internet speed. It's not suppose to effect your downloads by much however since it's suppose to throttle the background transfer to allow primary transfers as much bandwidth as they need.

    There are many things that can make up transfer speed however...

    Bandwidth is a premium when it comes to servers, that means it costs money. What some designers do to deal with the limited amount of bandwidth based upon cost in regards to the revenue from service is they will generate methods to Throttle the available bandwidth to balance it's "Contention" with other connected users that can be both downloading the same file or other files over the same hardware.

    The limitations of resources has to be a real careful juggling experiment, after all nobody wants to download large files at 1kbps (kilobit) however you can't server thousands of users files at 200kpbs without some serious costs being applied. So you have in essence balancing that might have a set speed that it attempts to have as an average... say 15-20kbps. When the Contention ratio is filled with connected users that might be the maximum speed, when the user ratio lessens the speeds might increase to higher. However because the system is trying to Average it, the speeds might suddenly sharply drop even though the user count isn't maxed, just to make the average speed accurate.

    In essence it's a system of fairness since all users are treated equally.

    The next problem is the distance you are from the server you are connecting to and if you are connecting directly. For the most part all transfers undergo a form of transparent tunnelling from one node to the next. The only real time this isn't the case is when you are using a Secure network connection that forces only direct connections between servers. In all cases the distance obviously has a certain amount of Latency and the usual connections for such distance have to be TCP since every packet sent has to be identified as being received.

    Obviously having lots of servers on route can generate a number of problems usually down to the MTU's. Basically MTU's are usually a set size and due to their size their is only so much data that can be forwarded from one node to the next, which usually causes a certain amount of clipping. Sometimes too much gets clipped during the creation of a packet during transfer and this causes Packet loss. Obviously when a packet is lost it has to be re-transmitted so can increase the time a download takes and even upset the "averages" mentioned earlier.

    Obviously downloading via a TCP connection will grant you greater protection over the integrity of a file than UDP, however sometimes UDP ports are used in data transfers. The problem with UDP over TCP is that it doesn't do any communication with the server pushing data to it, that's all left to the programmer to add.

    This allows for a lot of high speed dirty data to be sent, but for it then to be formed into a file it has to be processed and might even require some form of hash checking.

    If you are using a Torrent system or a program like Reget or something similar to download from more than one location at the same time. This too can cause problems with speed. Every connection made requires a certain amount of bandwidth to be used to keep that connection in synchronisation.

    You might think that downloading at 10kbps from 10 connections means you are getting 100kbps, but in reality you might either be getting more like 116kbps or less 94kbps. Now more might sound good, unless you realise that your limit is 100kbps and some of those extra kb's are actually used for controlling the connections... so technically you might only really be getting 8-9kbps from each connection, maybe less with the limitation throttling.

    There is then the point that ISP's also have a contention ratio much like the servers. They have limited hardware which they have to balance amongst all those subscribers to their services. (This is why when some ISP's gave 10-20Mbps speeds as a reference people complained about not getting anywhere near. They now state "Up to 10-20Mbps" as a cheap way out of no being able to provide the previous services they promised.)

    You might find that some times of the day (usually the early hours when everyone else is asleep) your speeds over the internet will increase, this won't just be ISP based but down to the internet as a whole (usually around 8-9am UTC is the quietest across the internet.)

    Now with all mentioned about you'll understand why Tech Support of these ISP's always states "It has to be your equipment. There is no problem with your line or our service." That's really a cop out for, "We can't be arsed to go through all the reasons why your connections slow. Live with it!"
     
Thread Status:
Not open for further replies.

Share This Page