How do different AWS regions compare to one another? A benchmark of transferring data from EC2 instances to S3 buckets

Many developers choose to host their data and code in the Amazon Web Services cloud, but when it comes to choosing a region it’s not that clear how to choose between the different options. To help shed some light on this, we’ve tested the upload/download speeds between the 8 available AWS regions – in the US, Asia, South America, Europe and Australia. We wanted to learn about the tradeoffs between regions and what kind of speeds to expect.

To add more insight, we then compared the results to a similar test we ran last year, which helped shed some light into the changes Amazon has made since. An interesting side effect of this was that we saw how physical infrastructure changes affect the results. For example, the deployment of an optical fiber from one point to another has improved the upload time by almost 3x.

The Results


2014 Results


2013 Results
** Average upload time of 10MB in seconds from EC2 server locations to S3 locations.

Combined upload times by EC2 regions


  • Australia is the slowest uploader to the rest of the world, or simply down and under. Unless your only focus is Australia, you wouldn’t want to place your first EC2 instance there. On the bright side, new infrastructure developments from Singapore to Australia had a dramatic impact compared to last year, a stunning 36x faster – from more than 3 minutes (!) to 5 seconds.

Sorry Australia, we’ll need to take a closer look without you:


  • California is the best place to upload from. Second year straight, the fastest average upload time was recorded in California. If you’re considering in which region to place your next EC2 instance, it’s the best bet even if you’re not necessarily uploading to US servers.
  • It’s still kind of tough to upload to Brazil’s S3. The fastest upload time to Brazil’s S3, excluding it’s own EC2, was over 5 seconds. An improvement from last year (8.83s) but still trailing behind. It’s also the weakest link for Singapore, Japan and Australia. A new fiber optic cable connecting Brazil directly with Europe is planned to arrive, so the future looks brighter.
  • If we’re excluding uploads to Brazil’s S3, Japan gets 2nd best upload times after California. Yes, even better than Oregon and Virginia. In fact, for a global reach, instances in Japan and Ireland provide a pretty good worldwide coverage, averaging a 2.77s upload time.
  • Australia beats any other option in same location uploads. Transferring data from EC2 to S3 in the same region is 1.3x to 8x faster than any other location. In this category, Australia takes the lead from Oregon, which was the fastest last year, and is now last (See the diagonal on the results table).
  • California’s S3 is also the best to upload to from other EC2 locations. The average upload time to California was 5.39s, with Singapore as the runner up with a 5.69s average. In addition, compared to last year’s results, uploading to California improved by a whopping 58.78%. Take uploads to Brazil for example, from 28sec in the 2013 benchmark to 6sec today.

Slowest upload speeds from EC2 to S3 in each region

  • It’s faster to upload from Virginia to Singapore than from Oregon to Virginia. In fact, if we’re looking only at the slowest upload times in each region, Virginia is the fastest among them and even outperforms California. Putting up 2 servers at these locations and expecting them to communicate fast is not such a good idea.
  • The direct upload path from one point to another might not be the fastest one. Uploads from Australia to Brazil takes 61.24s. However, if you take the same path through Singapore, it will take you 22.56s, almost 3x faster. I wonder what Dijkstra would say.

Average upload times from EC2 locations to S3 buckets in 2014 compared to 2013

  • Amazon Web Services are getting faster. Overall, we see an average 32% improvement in individual upload speeds compared to our results from last year. 54 of the 64 average upload times had become faster. So even if you’re using one of the slower regions, cheer up – it could have been worse.

The Groundwork

To run this test we’ve set up EC2 instances and S3 buckets in all Amazon AWS regions currently available and timed how long it would take to transfer 10MB in each direction. We went for a dozen rounds, removing best and worst scores before averaging. This left us with 10 valid scores to average, which seems to us like a fair number. There are currently 8 available AWS regions – three in the U.S (Oregon/California/Virginia), one in South America (Brazil), one in Europe (Ireland), two in Asia (Singapore/Japan) and one in Australia. The new region in China is not publicly available yet so it wasn’t included in the test (although there’s a limited preview you can access here).

The test was built using the AWS Java SDK and is available on GitHub. You’re welcome to fork, clone, review or run the experiment yourself to compare results.

Have additional insights to share? Let us know below

Some kind of monster @ OverOps, GDG Haifa lead.
  • Alejandro Figueroa

    CA EC2 -> OR S3 is faster than OR EC2 -> OR S3? Seems backwards.

    • Alex Zhitnitsky

      We were surprised as well, but that’s what came up 🙂

  • Adam Chainz

    Thanks for the stats, very good to hear AWS is getting faster!

    Sounds like you only set up one instance in each region. From my experience, some instances randomly happen to have poor network connectivity, which could explain Australia.

    Additionally, if you are just repeatedly uploading to a single key in S3 then you are only mapping to one partition in the big distributed map. It would be better to time uploads to several randomly prefixed keys, as per “Improving PUT and GET Throughput”.

    • Alex Zhitnitsky

      Thanks for the comment! Australia had pretty poor results on the last benchmark we ran as well as is in this one. I don’t think it was related to something random. Regarding the S3 optimisations, thanks for the link, we will definitely look into it when re-running the test in the future!

  • Adam Winn

    Awesome article. I read this and wanted to figure out how we could measure average connection speed from end-users to various AWS regions. I found cloudping to be a really good tool for this purpose, and I was lucky enough to get a group of volunteers in various regions of China to fire it up and report back to me their average latency. I put the test results and test procedure in this blog post:

    • Alex Zhitnitsky

      Hey Adam, I’m a bit late but thanks for sharing! A year passed since the last benchmark and we’ll be publishing the updated results for 2015 soon, I’ll include a link to your post about China.

  • Telco Online

    Telco Experts | Online Shop: Servers,
    Package, Cables, Switches, Headsets

    Telcoexperts offers Online Shop services through their
    experienced team who provide efficient and accurate Servers, Cables, Switches
    and Headsets.

    Go to:

  • Micah Lisonbee

    I’m noticing that downloading a file from S3 is significantly (20x) faster when doing it form and EC2 instance, as opposed to local or another server. I’m not sure if this is related to the region/location of EC2 and S3 or what is causing this benefit. Any insight?

  • Myesha Guilford

    Interesting analysis . Speaking of which , if you wants to merge PDF files , I came across a tool here ALTO-Merge.