Skip navigation

Why are My iTunes Downloads so Slow?

164312 Views 212 Replies Latest reply: Apr 13, 2014 9:55 PM by TallBearNC RSS
  • VinnyML Level 1 Level 1 (0 points)
    Currently Being Moderated
    May 10, 2013 2:25 PM (in response to lhotka)

    You are right on the money lhotka,  the only other variable I will point out to make sure people understand -- the reason for the slow speeds is most likely (I'd say 90% of the time) because the Akamai server you are being directed to is overwhelmed NOT because when you got sent to one far away.  The change in DNS just got you to go to a different Akamai server set - thus the variability of everyone's results.  Even if you switch to Google, google has some 20+ sites they serve from via Anycast -- so it will work for some of you but not all of you. 

     

    I agree though, that this is Apple's issue to solve and they've dropped the ball.  If Apple is reading this, I do suggest they go look at a company named Cedexis (www.cedexis.com) who sells services to companies like Apple to solve this very problem.  (No I don't work for them but I do have experience with them).   They have the ability to detect this type of issue.

  • Mik B Level 1 Level 1 (15 points)
    Currently Being Moderated
    May 10, 2013 3:46 PM (in response to lhotka)

    Ihotka, There's something wrong with your reasoning. The web server normally have no knowledge of which DNS server the iTunes client machine asked to do the DNS lookup. Therefore the route to the client can not be based on the physical existence of or the network spatial connections to the DNS server.

     

    Rather the route would be based on the network location of the client — as far as that can be known — and different algorhitms for determing the best server to do the serving in question to that network point. Which could be both in the web network and a contracted outside party like Akamai.

  • lhotka Level 1 Level 1 (40 points)
    Currently Being Moderated
    May 10, 2013 6:30 PM (in response to Mik B)

    I suspect that all this is only part of the issue, and that there may very well be bandwidth issues at Apple's sites (which is why Friday and Saturday nights are always slowest).

     

    Let me try to explain how the Akami type of architecture works.  Remember - the iTunes client 'pulls' information, the server doesn't push it (the iTunes servers don't have a clue where a client is located). 

     

    For right now, let's ignore caching.

     

    When iTunes on your machine wants to download something, it triggers a DNS lookup for the remote server.  Let's say that the name is something like 'itunesdownload.apple.com'.  That query goes to whatever DNS server you have selected - for now, let's say that's a local server from your ISP.  That DNS server is fed information about what IP address to return to that server name from the next DNS server up the chain, until a server is found with an IP address mapped to that particular name.

     

    In this case, Akami or one of their bretheren sits between the local DNS servers and the authoritative apple.com nameserver.  That Akami server will return an IP address based on the then-best route between the requesting DNS client and one of the several duplicate itunes content servers scattered around the country.  The 'best route' is determined by Akami's algorithms using multiple criteria, one of which is the location of the DNS server making the request - location is both roughly physcial (IP addresses don't port around the country like phone numbers do), and topological (network location).   That determines the latency to the server, which (combined with dynamic monitoring of server load) is the secret sauce that makes video downloads and streaming video work.  All of this is dynamic and can (and does) change on a regular basis.  Any of the big content streaming sites (ESPN, YouTube, etc) all work the same way.  itunesdownload.apple.com does not have a single IP address - it has several (all at the same time), but the one that appears to your machine is dependent on the particular chain of DNS lookups triggered from your client, which changes over time.

     

    Caching introduces delays into how often the name/ip mapping is updated.  That's why rebooting your computer (or manually clearing the DNS cache) can help improve speeds - but only if your router isn't also caching DNS lookups (Airport's can do that, for example).  So in periods when the network and server loads are changing rapidly (i.e. friday night when everyone's downloading a movie at the same time), you may be hitting a less than optimal IP address.

     

    So when someone uses a remote DNS server - let's say a Boston Comcast user decides to put in a PacBell DNS server, when the Pacbell DNS server is queried, it will return an IP address that is best for a west coast PacBell user.   The DNS lookup is based on the DNS server making the request, not the client.   Thus the client in Boston will route across the country, to a sub-optimal web/download server (which has no clue where the client is located).

     

    Can this be fixed?  Maybe - Apple could drop the Akami dynamic routing and do application based network load balancing (i.e. iTunes would have to ping each of the various download servers in order to figure out which one to connect to).  That would bypass the caching problem, but introduce other issues. 

     

    In any case, it's definitely an issue, and Apple does have a UX problem that they need to solve.

     

    And just one more note:  I just turned on Little Snitch.  iTunes appears to be downloading from www.ign.com.  nslookup gives:

     

    www.ign.comcanonical name = www.ign.com.edgesuite.net.
    www.ign.com.edgesuite.netcanonical name = a1005.g.akamai.net.
    Name:a1005.g.akamai.net

    Address: 204.0.87.138

    Name:a1005.g.akamai.net

    Address: 204.0.87.139

     

    So at least part of this is definitely tied up in Akamai (I've been spelling it wrong - oops) - DNS can absolutely have an impact, both the server chosen, and the caching timeouts.

  • riverfreak Level 2 Level 2 (205 points)
    Currently Being Moderated
    May 10, 2013 6:47 PM (in response to Griff1324)

    I appreciate all the explanations, proposed solutions and technical nuances of solving such a large technical problem.

     

    My response?  So what?

     

    This is something Apple needs to either 1) fix or 2) make completely clear at the time of purchase* To expect that a download from the iTunes store would proceed at a pace congruent with files of similar size from other sites is entirely reasonable. That they make take, say 10x or more is reprehensible at best and bordering on theft at worst.

     

    It shouldn't be up to the consumer to debate and tweak ways of solving this issue. Make the stuff available as torrents if they can't or aren't willing to cough it up for bandwidth required.

     

    It's not my problem, don't ask your customers to solve it or endure it. Just FIX IT.

     

    * suggested verbiage (CC with attribution): "Downloads from the iTunes Store will be mind-crushingly slow. If you are leaving on a flight within the next 16 hours, we recommend starting your download now and purchasing a DVD of the movie of interest at the airport. You're download will be waiting for you upon return."

  • Mik B Level 1 Level 1 (15 points)
    Currently Being Moderated
    May 10, 2013 11:07 PM (in response to lhotka)

    I have no connection in the logs to ign — I also peruse LIttle Snitch — but rather to a1442.v.phobos.apple.com. I think your theory is long overplayed if ever true. A company the size of Apple can't afford not to use application load balancing nor can Akamai when they're involved. It involves too much data.

     

    In addition you seem to be misinformed on just how application load balancing in cluster server setups is done these days. Pinging need not be involved.

     

    It took me just short of 3 hours to download a 2 hour feature in HD last night (rented). That was about 1 hour too much with my connection (8mbit going in).

  • eirikandreash Level 1 Level 1 (15 points)
    Currently Being Moderated
    May 12, 2013 3:24 AM (in response to Andy2k)

    Andy2k wrote:

     

    DNS Servers have NOTHING to do with your download speeds.

     

    DNS does have an impact on download speeds when you are downloading from a content delivery network e.g. Akamai, Level 3, Edgecast or Limelight.

     

    You are right that DNS is like a phonebook. But Akamai uses this phonebook every 20 seconds, to optimize content delivery from the nearest topolocigal location, based on network status, congestion, etc.

     

    Read and be wise: http://www.akamai.com/dl/technical_publications/network_overview_osr.pdf

  • eirikandreash Level 1 Level 1 (15 points)
    Currently Being Moderated
    May 12, 2013 4:03 AM (in response to riverfreak)

    I have read through the whole thread now, and it seems that a lot of people have misconceptions about DNS. DNS was not made to have an impact on download speeds [1] - BUT - several CDNs are using DNS in a way that makes content delivery dependent on DNS [1,2].

     

    If you are experiencing slow downloads from Apple, it is likely because of external effects like change in standard DNS, or network congestion.

     

    Are you "clever" enough to change your DNS, you should be clever enough to understand the impact DNS has on download speeds from different CDNs.

     

    If you are experiencing slow download speeds, my first question will therefore be: what kind of DNS server do you use? My tip: use your local ISPs DNS.

     

    If you want to know more about how content is delivered in the internet today, read [3].

     

    [1] http://queue.acm.org/detail.cfm?id=1647302

    [2] http://www.cdnplanet.com/blog/which-cdns-support-edns-client-subnet/

    [3] http://www.akamai.com/dl/technical_publications/network_overview_osr.pdf

  • TallBearNC Level 1 Level 1 (30 points)
    Currently Being Moderated
    May 18, 2013 10:01 PM (in response to beefoe)

    I have a 50x5 Mbit cable business class modem, from Time Warner, in my house (doing that give me priority bandwidth over other residences).... Also as a business class there's no data caps or port blockings.  The most I EVER get from the iTunes Store is 4-5MBytes/sec (about 35 Mbits)... Usually I get 1-2 MBytes/sec to iTunes or any device

     

    My guesses are

     

    1) Apple just doesn't have the bandwidth during certain times

    2) I notice they throttle accounts. If I download an entire hd season, I start out fast, then it slows after a few hrs... Im guessing apple has a max data cap per day then slows you down.

    3) I also don't think Apple is capable of handling all the new 35-50Mbit connections that are now readily available from the big cable companies.

     

    Im in Charlotte, NC, USA

  • eirikandreash Level 1 Level 1 (15 points)
    Currently Being Moderated
    May 19, 2013 2:00 AM (in response to TallBearNC)

    TallBearNC wrote:

     

    My guesses are

     

    1) Apple just doesn't have the bandwidth during certain times

    2) I notice they throttle accounts. If I download an entire hd season, I start out fast, then it slows after a few hrs... Im guessing apple has a max data cap per day then slows you down.

    3) I also don't think Apple is capable of handling all the new 35-50Mbit connections that are now readily available from the big cable companies.

     

    First of all, your "priority bandwidth" only stretches to your local ISP - not out in the broader network. That is important to keep in mind. If you have 50 Mbit downstream, you are probably on fiber, i.e. it is enough bandwith all the way to your local ISP - and no congestion there. Eventually, congestion occurs in the «middle-line» of the Internet. Concerning your guesses:

     

    1) I (assume) Apple has money to buy enough bandwidth, and has no reason to not do so. In addition to that, they utilize several content delivery networks (CDN) like Akamai and Level 3. To put it in different terms, you are probably never served directly from Apple.

     

    2) Why should Apple have a max data cap? As mentioned in (1), they have enough money to buy bandwidth. It is more evident that your cable operator has that, (see the Net Neutrality debate). I read on Warner’s web page that "All speeds approximate; no throughput is guaranteed". The problem is that ISPs does not earn enough money on content - therefore they want to manage the traffic to make different pricing plans.

     

    3) Well, again, why should they not? First, they use different CDNs to deliver traffic, which means that they utilize bandwidth within several peering points and ISPs. Second, they probably have more capacity where they connect to the Internet, than you have to your cable company.

     

    My first question is what kind of DNS you are on. I mentioned several articles in my post on May 12th, which describes how DNS affects speed.

     

    My second question is if you would be able to run a traceroute[1] command in your Terminal. E.g. "traceroute trailers.apple.com" and se how many hops before you reach the source? Also, check how many ms. it is to the source.

     

    [1] http://en.wikipedia.org/wiki/Traceroute

  • TallBearNC Level 1 Level 1 (30 points)
    Currently Being Moderated
    May 19, 2013 2:33 AM (in response to eirikandreash)

    I have no real slowdowns on the net... I can speed test anywhere in the USA and get full bandwidth. So there's no issues between me and apple... I trace route to apple and the avg roundtrips is around 30ms, and it's only about 20 hops

     

    Correct. My priority bandwidth is only to my ISP, but I have no other issues.. It's ONLY with iTunes downloads to my PC, ipad, iPhone.

  • TallBearNC Level 1 Level 1 (30 points)
    Currently Being Moderated
    May 19, 2013 2:38 AM (in response to eirikandreash)

    I host my own dns server so my DNS lookups are instant down to a ms.... I never use an ISP dns or a router's dns as there is lag or flakey. Having a windows server in my house with a dns server with cached data speeds things up.. But dns is only to start the process... Once a file transfer has started, iTunes has the ip and no longer needs dns services

  • TallBearNC Level 1 Level 1 (30 points)
    Currently Being Moderated
    May 19, 2013 2:50 AM (in response to TallBearNC)

    Maybe ill try lowering the time that cached data can be held.. If iTunes / apple constantly changes downloads, then I need to set my dns cache to expire quickly... However , rebooting, etc never solves my issues... It's just fast one day, slow the next... Super fast for one movie, then the next creeps along... Often I have to pause the download then restart it to get better speed...I guess doing that may get a different ip to DL from...

     

    In any case, apple needs to fix it and guarantee a minimal DL speed

     

    And again ... The more and more I DL in a day, the slower it gets... And that's only iTunes...my ISP doesn't put ANY restrictions on my service as its a business class connection.

  • eirikandreash Level 1 Level 1 (15 points)
    Currently Being Moderated
    May 19, 2013 3:59 AM (in response to TallBearNC)

    To your first post: I have 7 hops, and 10 ms delay, when I traceroute trailers.apple.com. If you have 20 hops and 30 ms, then that is significant more than my records. If I run several traceroutes on http://lg.he.net, I get an average of 4-7 hops. I.e. you have to many.

     

    To your second post: You are right, DNS close by speed things up. BUT. You are not right when you say, "dns is only to start the process". Different CDNs have utilized DNS to optimize content delivery for years. For instance have Akamai low-level DNS servers a TTL on several seconds to one minute. Please read the articles mentioned in my post on May 12th, especially the one from Queue, which ultimately reflects on how CDNs uses DNS in a not intended way. To conclude, you are wrong when you say, "iTunes has the ip and no longer needs dns services". My question, how do you fetch information to your own local DNS, and what happens if you use your ISPs DNS?

     

    To your third post: You are right, lower the time that cached data can be held! But why do you have your own DNS? That will mess things up on several web pages using CDNs [1]. My suggestion is that you try to use your regular DNS - and see if that helps.

     

    The Internet is not perfect, and it is not possible to guarantee a minimal downstream speed, unless you own the network from terminal to terminal. Therefore companies like Apple, buy services from several CDNs to serve people all around the world. These CDNs deal with the congestion problem that is inherent in the Internet. By using several techniques and technologies, the CDNs route around congestion, BGP error, and cable cuts. Also bringing content closer, so that througput will increase.

     

    [1] http://www.cdnplanet.com/blog/which-cdns-support-edns-client-subnet/

  • manjello Level 1 Level 1 (0 points)
    Currently Being Moderated
    May 19, 2013 5:29 AM (in response to eirikandreash)

    The point that all of you are missing is that we are not Apple's IT deportment. Why are you trying so solve a problem for a company that doesn't care enough about their customers to solve it themselves? They could, if they values their customers, solve this problem themselves.

     

    Apple doesn't care. Choose another service.

  • BrianVT Level 1 Level 1 (0 points)
    Currently Being Moderated
    May 19, 2013 2:59 PM (in response to Endurion)

    What does it mean when iTunes says something is 'ready to watch,' but the downloads window still says it has 6 hours to finish downloading??

Actions

More Like This

  • Retrieving data ...

Bookmarked By (4)

Legend

  • This solved my question - 10 points
  • This helped me - 5 points
This site contains user submitted content, comments and opinions and is for informational purposes only. Apple disclaims any and all liability for the acts, omissions and conduct of any third parties in connection with or related to your use of the site. All postings and use of the content on this site are subject to the Apple Support Communities Terms of Use.