Showing posts with label Cloud Network Benchmarking. Show all posts
Showing posts with label Cloud Network Benchmarking. Show all posts
Sunday, October 24, 2010
Friday, June 11, 2010
Google Storage, a CDN/Storage Hybrid?
We received our Google Storage for Developers account today, and being the curious types, immediately ran some network tests. We maintain a network of about 40 cloud servers around the world which we use to monitor cloud servers, test cloud-to-cloud network throughput, and our cloud speedtest. We used a handful of these to test Google Storage uplink and downlink throughput and latency. We were very surprised by the low latency and consistently fast downlink throughput to most locations.
Most storage services like Amazon's S3 and Azure Blob Storage are physically hosted from a single geographical location. S3 for example, is divided into 4 regions, US West, US East, EU West and APAC. If you store a file to an S3 US West bucket, it is not replicated to the other regions, and can only be downloaded from that regions' servers. The result is much slower network performance from locations with poor connectivity to that region. Hence, you need to chose your S3 region wisely based on geographical and/or network proximity. Azure's Blob storage uses a similar approach. Users are able to add CDN on top of those services (CloudFront and Azure CDN), but the CDN does not provide the same access control and consistency features of the storage service.
In contrast, Google's new Storage for Developers service appears to store uploaded files to a globally distributed network of servers. When a file is requested, Google uses some DNS magic to direct a user to a server that will provide the fastest access to that file. This is very similar to the approach that Content Delivery Networks like Akamai and Edgecast work, wherein files are distributed to multiple globally placed PoPs (point-of-presence).
Our simple test consisted of requesting a test 10MB file from 17 different servers located in the US, EU and APAC. The test file was set to public and we used wget to test downlink and Google's gsutil to test uplink throughput (wget was faster than gsutil for downloads). In doing so, we found the same test URL resolved to 11 different Google servers with an average downlink of about 40 Mb/s! This hybrid model of CDN-like performance with enterprise storage features like durability, consistency and access control represents an exciting leap forward for cloud storage!
Google Storage Network Performance Tests
| Service | Location | Resolved To | Latency | Upload (Mb/s) | Download (Mb/s) |
|---|---|---|---|---|---|
| Gigenet | IL, US | 209.85.225.132 | 15.05 | 15.13 | 68.4 |
| CloudSigma | Switzerland | 209.85.227.132 | 24.25 | 1.75 | 21.5 |
| Linode (London) | UK | 209.85.229.132 | 7.13 | 5.72 | 41.6 |
| Bluelock | IN, US | 64.233.169.132 | 23.1 | 4.42 | 56.8 |
| EC2 (EU West) | Ireland | 66.102.9.132 | 2.19 | 6.58 | 29.5 |
| CloudCentral | Australia | 66.102.11.132 | 5.96 | 4.84 | 8.2 |
| Rimu Hosting | New Zealand | 66.102.11.132 | 27.05 | 5.53 | 9.64 |
| Gandi Cloud VPS | France | 66.102.13.132 | 19.9 | 2.81 | 31.1 |
| Zerigo | CO, US | 72.14.203.132 | 57.05 | 5.63 | 24.04 |
| Voxel (Amsterdam) | The Netherlands | 72.14.204.132 | 83.2 | 3.86 | 40.6 |
| EC2 (US East) | VA, US | 72.14.204.132 | 2.72 | 10.14 | 39.4 |
| EC2 (US West) | VA, US | 72.14.204.132 | 27.7 | 8.77 | 9.5 |
| Speedyrails | Canada | 72.14.204.132 | 24.5 | 8.28 | 33.1 |
| VPS.net (UK) | UK | 74.125.79.132 | 11.6 | 3.48 | 32.1 |
| Rackspace (Chicago) | IL, US | 74.125.95.132 | 13.05 | 4.23 | 70.3 |
| GoGrid | CA, US | 74.125.127.132 | 24.2 | 6.32 | 39.9 |
| Zerigo | CO, US | 74.125.155.132 | 55.3 | 10.51 | 42.08 |
Saturday, March 13, 2010
Connecting Clouds - Summary of Our Intercloud Network Testing
Over the past few months we've been conducting some intercloud network testing. To get started, we first setup testing nodes in 28 different infrastructure/server clouds (a.k.a IaaS). Twice daily at random times (hourly for latency), these nodes initiate throughput and latency network tests with each of the other 27 nodes in the test group. These tests consist of uploading and downloading a 5 MB test file and recording the throughput, and pinging to determine latency. The purpose is to determine which clouds are best connected to each other. In the results tables below, we've compiled averages from all of these tests ordered by downlink throughput and displayed the top 10 best connected clouds to each of the 28 we tested.
As reliable as cloud services generally are, they do occasionally fail. We believe a good cloud adoption strategy involves use of more than one cloud service to avoid risks of extended downtime (i.e. natural disaster, power failures, etc.). Such a strategy could be as simple as maintaining backups in a separate cloud for cold restores, to complex load balanced cross cloud clusters of application servers and data repositories. In both cases, good throughput and low latency between clouds will allow data to be transmitted quickly and efficiently. If latency is high or throughput low, you may run into data consistency issues and performance bottlenecks.
A few admin notes regarding our testing:
- With a few exceptions, most cloud services limit Internet uplinks to 100 Mb/s or less
- A 5MB test file is not sufficiently large to determine accurate throughput capacity between clouds. The downlink and uplink values provided here are for comparison purposes only and not meant to represent actual throughput capacity (which could be even higher for larger data transfers)
- We've found that routing is not always symmetrical between uplink and downlink tests. This is usually the reason for large discrepancies between uplink and downlink throughput
- The results are broken down by cloud. The table shows the 10 best connected clouds for each. The downlink, uplink and latency values are measured by the cloud shown in the left column of the table
These tests are ongoing. Over the next few months, we plan to make this data available in real-time via web services and on our website to include filtering criteria. If you have any suggestions on how we might improve the accuracy of these tests, please feel free to comment.
The Results:
EC2 - US East
San Francisco, CA
New York, NY
Linode
Linode - Atlanta, GA
Linode - Dallas, TX
Linode - Fremont, CA
Linode - London, UK
Linode - Newark, NJ
NewServers
Subscribe to:
Posts (Atom)