Windows Azure 四個 Location 的連線測試

最近在試玩 Windows Azure,除了微軟本家的 .Net 之外,Windows Azure 也支援 PHP,最近還開始支援 NodeJS,也剛好最近都在玩 NodeJS,所以也開了個 Windows Azure 來玩玩,反正有 3個月的 Free Trial。

Windows Azure 分成許多的服務,之後再專篇介紹,這一篇是以 Web Sites 的測試為主,主要的測試內容是連測試。

Windows Azure Web Sites 有四個 Location 可以選擇,分別是 West US, East Asia, West Europe, North Europe。

於是我就開了四個 Web Sites 分別在四個 Location,分別是

Web Site 內都是 default 的首頁,用這樣來測試每個 Location 的連線狀況。

測試環境

  • Linux Mint 14
  • 台灣大寬頻 24Mb

Apache Bench 測試

因為 Windows Azure 不給 ping,所以也無法用 ping 來測試連線狀況,所以就改用 Apache Bench,也就是所謂的 ab 來測試吧

$ ab -n 100 -c 100

{% iframe https://docs.google.com/spreadsheet/pub?key=0AowjJjPq2dVmdFpzMWI5T0pGWkxqU2sxTnNOdVZfOHc&single=true&gid=0&output=html&widget=true 900 500 %}

Time taken for tests, Requests per second, Time per request, Time per request (across all concurrent requests), Transfer rate,這五項都是 East Asia 獲勝。

但是在 Connection Times (ms) 這個部份就是 West US 表現比較好,只有 max 的部份輸給 East Asia。

在最重要的 Percentage of the requests served within a certain time (ms) 這部份,West US 在 95% 以內的 Requests 都優於 East Asia

從 ab 的測試來看 East Asia 跟 West US 這兩個 Location 是沒多大的差異,West US 甚至優於 East Asia。


本來還想調大 -n-c 來產生更多的 requests 來測試,但是免費的 DATA OUT 只有 165MB,所以一下就玩爆了。

而且 connections 太多也會被中斷連線,我用過 -c 200 但是 ab 會出現 apr_poll: The timeout specified has expired (70007) 的錯誤。

我想可能也是因為是免費的關係,所以在 connections 上有些限制。

以上的數據就給大家參考看看

另外,再附上原始的 ab result 的檔案(2012-11-27-ab-test-for-azure.zip)

Follow 院長與芊比媽 on Google News