元RX-7乗りの適当な日々 このページをアンテナに追加 RSSフィード Twitter

RX-7(FD3S)WRX STI関連のキーワードで検索されて来られた方へ。
右サイドのカテゴリ『』をクリックすると関連する項目だけが表示されます。
日々の写真は『Flickr』で公開しています。

2010/07/22

Amazon EC2性能検証!気になるパフォーマンスをインスタンスタイプやリージョン毎に計測・比較してみた


大手クラウドサービスであるAmazon EC2では、9種類ものインスタンスタイプ(サーバの種類)から、利用したいスペックのサーバを選択できます。また、EC2のサーバは、4ヶ所ものリージョン(アメリカ東海岸、同西海岸、ヨーロッパ西部、シンガポール)から稼動させる場所を選択することができます。

f:id:rx7:20100722123439p:image:w480


ここで、気になるのが、Amazon Web Servicesの説明ページで、各インスタンスタイプの公表スペック差異として、EC2独自のCPU単位である"ECU"の数値や、IO性能のModerate(中)やHigh(高)で、どのくらいパフォーマンスが違うのかが見え辛いといった点。

また、一部の場所ではパフォーマンスが出ていない等の話が以前に出ていましたが、4ヶ所のロケーション(Region)によって、各場所でのインスタンス性能が全く同じなのか等も気になるところ。


ここを解明すべく、各種ベンチマークを実行してみました。

(ブログのエントリというよりは、検証レポートっぽくなってしまったw)


計測・比較を行った項目

観点としては、9種類のインスタンス(サーバ)のディスク・CPUパワーの性能や、4ヶ所のリージョンで性能に差異があるかを確認しました。

  • 9種類の各インスタンスでのCPUベンチマーク
  • 9種類の各インスタンスでのディスクI/Oベンチマーク
  • 9種類の各インスタンスでの総合ベンチマーク
  • 4ヶ所の各リージョンでのCPUベンチマーク
  • 4ヶ所の各リージョンでのディスクI/Oベンチマーク

※ 注意点として、以降の結果は、クラウドサービスの性質から、時間帯や混雑具合によって大きく変わる可能性もあります。厳密に何度も取得・分析を行ったわけではないので、その点はご了承いただきたく思います。


計測・比較対象のインスタンスタイプ (Instance type)

via. EC2 Instance Types ? Amazon Web Services (AWS)

以下に、表形式でまとめておきます。

  • 1ECU(EC2 Compute Unit)は、XeonもしくはOpteronの1.0〜1.2GHz相当となります。
  • Price(価格)は、us-eastでLinuxプラットフォームを稼動させた場合の1時間あたりの料金です。(2010/07現在)

Standard Instances
InstancePriceMemoryCPUDiskI/O
performance
Small Instance
[m1.small]
(32-bit)
(*Default)
$0.0851.7 GB1 ECU
(1 virtual core
with 1 ECU)
160 GBModerate
Large Instance
[m1.large]
(64-bit)
$0.347.5 GB4 ECU
(2 virtual cores
with 2 ECU each)
850 GBHigh
Extra Large Instance
[m1.xlarge]
(64-bit)
$0.6815 GB8 ECU
(4 virtual cores
with 2 ECU each)
1690 GBHigh

High-CPU Instances
InstancePriceMemoryCPUDiskI/O
performance
High-CPU
Medium Instance

[c1.medium]
(32-bit)
$0.171.7 GB5 ECU
(2 virtual cores
with 2.5 ECU each)
350 GBModerate
High-CPU
Extra Large Instance

[c1.xlarge]
(64-bit)
$0.687 GB20 ECU
(8 virtual cores
with 2.5 ECU each)
1690 GBHigh

High-Memory Instances
InstancePriceMemoryCPUDiskI/O
performance
High-Memory
Extra Large
Instance

[m2.xlarge]
(64-bit)
$0.5017.1 GB6.5 ECU
(2 virtual cores
with 3.25 ECU each)
850 GBModerate
High-Memory
Double Extra
Large Instance

[m2.2xlarge]
(64-bit)
$1.2034.2 GB13 ECU
(4 virtual cores
with 3.25 ECU each)
850 GBHigh
High-Memory
Quadruple Extra
Large Instance

[m2.4xlarge]
(64-bit)
$2.4068.4 GB26 ECU
(8 virtual cores
with 3.25 ECU each)
1690 GBHigh

Cluster Compute Instances
InstancePriceMemoryCPUDiskI/O
performance
Cluster Compute
Quadruple Extra
Large Instance

[cc1.4xlarge]
(64-bit)
$1.6023 GB33.5 ECU
(2 x Intel Xeon X5570,
quad-core "Nehalem"
architecture)
1690 GBVery High
(10 Gigabit
Ethernet)

計測・比較対象のリージョン (Region)

以下4ヶ所が対象です。(現在利用可能なリージョン全て)

  • us-east (アメリカ東海岸)
  • us-west (アメリカ西海岸)
  • ap-southeast (アジア・シンガポール)
  • eu-west (ヨーロッパ西部)

実際にインスタンスで利用されていたCPU

実際に、検証を行う際に、"/proc/cpuinfo"の情報から確認したCPUが以下となります。

Instance typeCPU model
m1.smallDual-Core AMD Opteron(tm) Processor 2218 HE x 1core (us-eastのみ)
Intel(R) Xeon(R) CPU E5430 @ 2.66GHz x 1core (上記以外)
m1.largeIntel(R) Xeon(R) CPU E5430 @ 2.66GHz x 2cores
m1.xlargeIntel(R) Xeon(R) CPU E5430 @ 2.66GHz x 4cores
c1.mediumIntel(R) Xeon(R) CPU E5410 @ 2.33GHz x 2cores
c1.xlargeIntel(R) Xeon(R) CPU E5410 @ 2.33GHz x 8cores
m2.xlargeIntel(R) Xeon(R) CPU X5550 @ 2.67GHz x 2cores
m2.2xlargeIntel(R) Xeon(R) CPU X5550 @ 2.67GHz x 4cores
m2.4xlargeIntel(R) Xeon(R) CPU X5550 @ 2.67GHz x 8cores
cc1.4xlargeIntel(R) Xeon(R) CPU X5570 @ 2.93GHz x 16cores

姫野ベンチマークによるCPUベンチマーク(インスタンスタイプ別)

CPUベンチマークとして「姫野ベンチマーク」を利用してみました。

利用したのは、"C, static allocate version"のMサイズのソースコードを実機でコンパイルしたものです。

via. ページが見つかりませんでした | 理化学研究所情報基盤センター(所内および所外向け)


以下ベンチマークの対象は、"us-east"で稼動させたEC2インスタンス全種(9種類)です。結果値の単位は"MFLOPS"。

Instance typeMFLOPS measured(vCore)
m1.small324.68(x1)
c1.medium774.60(x2)
m1.large892.18(x2)
m1.xlarge880.10(x4)
c1.xlarge1044.82(x8)
m2.xlarge1544.97(x2)
m2.2xlarge1600.40(x4)
m2.4xlarge1572.73(x8)
cc1.4xlarge1676.40(x16)

f:id:rx7:20100722102636p:image:w480

上記の結果を見る感じ、姫野ベンチマークでは、マルチコアを使い切った感じではない性能値が算出されているようですね。

(追記: 参考として、上記表の横にvCore数を並べてみました。 via. http://twitter.com/namikawa/status/19240827882)

意外だったのは、5ECU(2.5ECU x 2)のc1.mediumより、4ECU(2ECU x 2)のm1.largeの性能値が良いことですね。CPUの型番だけを見ていると、この結果には納得なのですが。c1.mediumはXeon E5410(2.33GHz)で、m1.largeはXeon E5430(2.66GHz)ですからね。

m1.smallは、1つのCPUを、2.5〜3つのインスタンスで共有している感じですかね。OS上では、steal値が60%前後だということを考えると、この結果にもおおよそ納得といったところ。

m2.xlarge系である「High-Memory Instances」のスコアが良い感じですね。


ちなみに、参考までですが、我が家の物理サーバで姫野ベンチマークを実行した結果は、以下のようになりました。

CPU modelMFLOPS measured
Intel(R) Core(TM)2 Duo CPU P9500 @ 2.53GHz x 2cores1503.59
AMD Phenom(tm) 9950 Quad-Core Processor x 4cores1192.06
AMD Athlon(tm) 64 Processor 3500+ x 1core814.56
Dual-Core AMD Opteron(tm) Processor 1210 x 2cores725.76
Intel(R) Pentium(R) III CPU family 1.13GHz x 2cores121.00

※ 本当は、Core i7やPentium系などもあるのだが、ネイティブUnix/Linuxが乗っていないorz


姫野ベンチマークによるCPUベンチマーク(リージョン別)

続いて、各リージョン(Region)別でも姫野ベンチマークでCPU性能を計測してみました。

尚、ここでは、CPU単体のスペック種別(ECU的、型番的の双方)が違うインスタンスを中心に、2 virtual coresのインスタンスのみと、m1.small(一番、利用頻度が多そうなので)を計測してみました。

  • m1.small - (1ECU: Opteron 2218 HE or Xeon E5430) x 1core
  • c1.medium - (2.5ECU: Xeon E5410) x 2cores
  • m1.large - (2ECU: Xeon E5430) x 2cores
  • m2.xlarge - (3.25ECU: Xeon X5550) x 2cores

※コア数は同じで、CPUの種類だけが違うもの。


以下ベンチマークの対象は、上記4種類のEC2インスタンスを4ヶ所のリージョン毎にベンチマークしたものです。

us-eastus-westap-southeasteu-west
m1.small324.68322.79331.26326.26
c1.medium774.60764.04779.00780.13
m1.large892.18882.63883.45887.28
m2.xlarge1544.971603.401558.681604.94

f:id:rx7:20100722102637p:image:w480

m1.smallに限っては、"us-east"とそれ以外で、CPUモデルが違うものの、ベンチマークスコアはほとんど同じです。その他のインスタンスタイプでは、CPUモデルも型番も同じなので、当然ほぼ同じスコアとなっています。CPUについては、リージョン毎の性能差はないようです。


dbenchによる、ディスクI/Oベンチマーク (インスタンスタイプ別)

次に、dbenchを使ったディスクI/Oのベンチマークです。

以下は、各インスタンスで実際に実行したコマンドと結果例(m1.large)となります。(4 clients想定)

# dbench -c /client.txt 4

 Operation      Count    AvgLat    MaxLat
 ----------------------------------------
 NTCreateX    3290828     0.025  1218.637
 Close        2417179     0.003    20.170
 Rename        139367     0.053   361.139
 Unlink        664704     0.079  3567.164
 Deltree           80     4.227    17.643
 Mkdir             40     0.005     0.006
 Qpathinfo    2982727     0.012   680.247
 Qfileinfo     522615     0.002    10.304
 Qfsinfo       547034     0.071    57.628
 Sfileinfo     268069     0.054   932.573
 Find         1153275     0.035    66.888
 WriteX       1640191     0.047  1365.309
 ReadX        5159241     0.008   679.026
 LockX          10720     0.007     6.386
 UnlockX        10720     0.005     5.440
 Flush         230684     8.317  4875.339

Throughput 172.128 MB/sec  4 clients  4 procs  max_latency=4875.352 ms

instance-rootタイプ

で、以下が"us-east"の各インスタンス(S3 AMIから起動したinstance-rootタイプ)で実行したディスクI/Oパフォーマンスの結果。

Throughputの単位はMB/sec、max_latencyの単位はmsです。

Throughputmax_latency
m1.small83.39713152.082
c1.medium144.7391847.075
m1.large172.1284875.352
m1.xlarge197.142492.915
c1.xlarge198.6183100.112
m2.xlarge276.094059.14
m2.2xlarge293.2153569.074
m2.4xlarge313.3313623.604

f:id:rx7:20100722103304p:image:w480

公表スペックで、I/Oパフォーマンスは、"Moderate"、"High"、"Very High"の3種類でしたが、同じ"Moderate"のm1.smallとc1.medium、m2.xlargeでも、割と差がある感じです。(公表スペックのI/Oパフォーマンスは、ディスクだけではなくネットワークのI/Oも含まれているのでしょう。)

あと、m2系の「High-Memory Instances」は、レイテンシが高めですが、パフォーマンスは良さそうです。


余談ですが、本当は、各デバイスに対して計測を行いたかったのですが、dbenchの"-c"オプションによるloadfileでの場所指定が上手く動いていなかったようで、結局ルートパーティション(/dev/sda1)への計測になっているものと推測しています。(ソース嫁、ですね)


ebsタイプ

次に、「Cluster Compute Instance」な"cc1.4xlarge"が、EBS AMIベースのものしかないので、いくつかEBSブートで稼動させたインスタンスで同様に結果を測定してみました。いずれも"us-east"で稼動させています。

Throughputmax_latency
c1.medium45.1286692.144
m1.large39.8205674.802
m2.xlarge69.8611167.158
cc1.4xlarge137.968382.083

f:id:rx7:20100722103305p:image:w480

こちらから、EBSなディスクタイプのレイテンシは低いが、instance-rootほどのパフォーマンスは出ていないことがわかります。ですが、"cc1.4xlarge"タイプの結果はさすがに良いですね。


hdparmによる、ディスクI/Oベンチマーク (インスタンスタイプ別)

dbenchとは別に、ディスクI/Oパフォーマンスを計る指標として、hdparmを利用します。

こちらは、ディスクの読み込みスループット計測がメインですが、ルートパーティションのディスク(/dev/sda1)、エフェメラルディスク(/dev/sdb)、EBSボリュームとしてアタッチしたディスク(/dev/sdf1)の3種類に対して実行しました。ここでの結果値は、"-t"オプションを利用し、連続で5回実行した平均値となります。

-t

ベンチマーク及び比較目的で、デバイス読み込みを測定する。有意な結果を得るためには、少なくとも数メガバイトの空きメモリがあり、他にアクティブなプロセスがない状態で、この操作を 2, 3 回繰り返すべきである。これはデータのキャッシュがない状態から、バッファキャッシュを通してディスクを読み出す速度を表示する。これは、ファイルシステムのオーバーヘッドなしに、そのドライブが Linux でどれだけ連続データ読み込み速度を維持できるかを測定するものである。測定の正確さを上げたいのであれば、 -t の実行の間に BLKFLSBUF ioctl を使ってバッファキャッシュをクリアする。

404 - エラー: 404

instance-rootタイプ

以下は、"us-east"の各インスタンスに対して行った実行結果です。結果値の単位はMB/secです。

/dev/sda1/dev/sdb/dev/sdf1
m1.small252.872275.70866.86
c1.medium271.04306.46266.152
m1.large153.548166.74675.746
m1.xlarge196.758170.9867.002
c1.xlarge196.282197.34475.318
m2.xlarge577.024375.93679.056
m2.2xlarge612.69432.27886.486
m2.4xlarge637.192504.62478.196

f:id:rx7:20100722103911p:image:w480

どういうわけか、m1.smallとc1.mediumの32ビットプラットフォームなインスタンスの値が、思いの外すごく良いです・・・。あと、m2系の「High-Memory Instances」のパフォーマンスも抜けています

ルートパーティションのディスク(/dev/sda1)とエフェメラルディスク(/dev/sdb)については、それほど大きな差は見られないので、性能は同等かもしれません。

EBSボリュームについては、どのインスタンスタイプでも同様の結果かな、と思っていましたが、そうでもないようです(時間帯や割当区域レベルの差かもしれませんが・・・)。EBSのスループットは概ね「65〜85MB/sec」ですね。


ちなみに、これも参考までですが、我が家の物理サーバでhdparmを実行した結果は、以下のようになりました。

deviceThrouput
PATA 5400rpm x 144.944
SATA 7200rpm x 176.75
SATA 7200rpm x 2 (RAID0)131.38
SATA 7200rpm x 2 (RAID1)104.384
SATA 7200rpm x 4 (RAID0)294.486
SATA 7200rpm x 4 (RAID5)172.188
SATA 7200rpm x 4 (RAID1+0)169.616

ebsタイプ

dbench同様、EBSブートなインスタンスでも測定してみました。こちらも"us-east"で実施。

/dev/sda1/dev/sdb/dev/sdf1
c1.medium77.212--
m1.large74.126--
m2.xlarge86.244--
cc1.4xlarge140.594234.08484.992

f:id:rx7:20100722103912p:image:w480

こちらでも、"cc1.4xlarge"タイプの結果は抜けています。

EBSボリュームについては、それほどスループットは大きく出ませんが、レイテンシも低く、終始安定した書き込みを行っている感覚を受けました。(結果にバラつきが出ない。値が小さいので、そう見えているだけ?)


dbenchによる、ディスクI/Oベンチマーク (リージョン別)

続いて、CPUベンチマークと同様に、各リージョンで差異が見られるかを確認してみました。

結果値の単位は、先ほどと同様、"Throuput[MB/sec] (max_latency[ms])"となります。

us-eastus-westap-southeasteu-west
m1.small83.3971 (3152)101.017 (1830)99.8322 (1842)97.7665 (2387)
c1.medium144.739 (1847)150.138 (1919)139.443 (2129)137.977 (2464)
m1.large172.128 (4875)212.781 (1870)200.576 (2194)222.317 (2063)
m2.xlarge276.09 (4059)111.084 (19730)233.529 (7937)110.98 (10703)

f:id:rx7:20100722104210p:image:w480

こちらは、若干バラつきが見られます。特に、m2.xlargeタイプのインスタンスについては、全体的にレイテンシが大きく、us-westとeu-westでは期待していたパフォーマンスが出ない結果となりました。これについては、時間帯を変えてやり直しも行ったのですが、結果はそれほど変わらず。

m1系の「Standard Instances」については、us-east以外のリージョンがやや速いかな、という印象。

というわけで、あくまで参考程度に。


hdparmによる、ディスクI/Oベンチマーク (リージョン別)

続いて、hdparmでも同様に、各リージョンで差異が見られるかを確認してみました。

結果値の単位は、"Throuput[MB/sec]"となります。

m1.small
us-eastus-westap-southeasteu-west
/dev/sda1252.872264.604353.44292.544
/dev/sdb275.708292.33346.996296.948
/dev/sdf166.8671.0769.4967.284

f:id:rx7:20100722110231p:image:w480

ap-southeastのパフォーマンスが少しばかり良いように見えます。その他は、それほど大きな差は見られません。


c1.medium
us-eastus-westap-southeasteu-west
/dev/sda1271.04288.216338.206299.098
/dev/sdb306.462293.586312.514308.778
/dev/sdf166.15278.98682.2176.406

f:id:rx7:20100722110230p:image:w480

/dev/sda1でap-southeastの値がやや良いですが、こちらはそれほど大きな差は見られません。


m1.large
us-eastus-westap-southeasteu-west
/dev/sda1153.548179.554218.848217.414
/dev/sdb166.746181.374167.016156.748
/dev/sdf175.74671.66673.81469.5

f:id:rx7:20100722110228p:image:w480

/dev/sda1でap-southeastとeu-westの値がやや良いですね。それ以外は、それほど大きな差は見られません。


m2.xlarge
us-eastus-westap-southeasteu-west
/dev/sda1577.024390.678444.672405.3
/dev/sdb375.936376.22545.014426.434
/dev/sdf179.05681.9881.74486.744

f:id:rx7:20100722110229p:image:w480

/dev/sda1でus-eastの値が、/dev/sdbでap-southeastの値がやや良いですね。それ以外は、それほど大きな差は見られません。


unixbenchによる、総合ベンチマーク

最後に、unixbenchを使った総合ベンチマークの値を載せておきます。

こちらはツール自体が少し古いこともあって、取得できていない値もあったりするのですが、何かの参考になれば。"us-east"の全種類のインスタンスに対してベンチマークを行いました。

以下は、実際にc1.mediumに対して実行した結果例です。

  BYTE UNIX Benchmarks (Version 4.1.0)
  System -- Linux domU-12-31-39-0F-6A-54 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 i686 i386 GNU/Linux
  Start Benchmark Run: Mon Jul 12 01:52:42 EDT 2010
   1 interactive users.
   01:52:42 up 4 min,  1 user,  load average: 0.06, 0.15, 0.05
  lrwxrwxrwx 1 root root 4 Dec  8  2009 /bin/sh -> bash
  /bin/sh: symbolic link to `bash'
  /dev/sda1             10321208   2261236   7535684  24% /
Dhrystone 2 using register variables     9790577.1 lps   (10.0 secs, 10 samples)
Double-Precision Whetstone                 2070.6 MWIPS (10.2 secs, 10 samples)
System Call Overhead                     826432.8 lps   (10.0 secs, 10 samples)
Pipe Throughput                          180216.6 lps   (10.0 secs, 10 samples)
Pipe-based Context Switching              35821.3 lps   (10.0 secs, 10 samples)
Process Creation                           3400.6 lps   (30.0 secs, 3 samples)
Execl Throughput                           1598.5 lps   (29.9 secs, 3 samples)
File Read 1024 bufsize 2000 maxblocks    351687.0 KBps  (30.0 secs, 3 samples)
File Write 1024 bufsize 2000 maxblocks   252310.0 KBps  (30.0 secs, 3 samples)
File Copy 1024 bufsize 2000 maxblocks    140395.0 KBps  (30.0 secs, 3 samples)
File Read 256 bufsize 500 maxblocks       90709.0 KBps  (30.0 secs, 3 samples)
File Write 256 bufsize 500 maxblocks      66533.0 KBps  (30.0 secs, 3 samples)
File Copy 256 bufsize 500 maxblocks       36620.0 KBps  (30.0 secs, 3 samples)
File Read 4096 bufsize 8000 maxblocks    993044.0 KBps  (30.0 secs, 3 samples)
File Write 4096 bufsize 8000 maxblocks   827288.0 KBps  (30.0 secs, 3 samples)
File Copy 4096 bufsize 8000 maxblocks    428662.0 KBps  (30.0 secs, 3 samples)
Shell Scripts (1 concurrent)               3099.1 lpm   (60.0 secs, 3 samples)
Shell Scripts (8 concurrent)                645.9 lpm   (60.0 secs, 3 samples)
Shell Scripts (16 concurrent)               343.3 lpm   (60.0 secs, 3 samples)
Arithmetic Test (type = short)           2239232.1 lps   (10.0 secs, 3 samples)
Arithmetic Test (type = int)             2257100.6 lps   (10.0 secs, 3 samples)
Arithmetic Test (type = long)            2257519.2 lps   (10.0 secs, 3 samples)
Arithmetic Test (type = float)           991768.4 lps   (10.0 secs, 3 samples)
Arithmetic Test (type = double)          992230.0 lps   (10.0 secs, 3 samples)
Arithoh                                       0.0 lps   (10.0 secs, 3 samples)
C Compiler Throughput                      1041.2 lpm   (60.0 secs, 3 samples)
Dc: sqrt(2) to 99 decimal places          42905.1 lpm   (30.0 secs, 3 samples)
Recursion Test--Tower of Hanoi           112156.8 lps   (20.0 secs, 3 samples)


                     INDEX VALUES
TEST                                        BASELINE     RESULT      INDEX

Dhrystone 2 using register variables        116700.0  9790577.1      839.0
Double-Precision Whetstone                      55.0     2070.6      376.5
Execl Throughput                                43.0     1598.5      371.7
File Copy 1024 bufsize 2000 maxblocks         3960.0   140395.0      354.5
File Copy 256 bufsize 500 maxblocks           1655.0    36620.0      221.3
File Copy 4096 bufsize 8000 maxblocks         5800.0   428662.0      739.1
Pipe Throughput                              12440.0   180216.6      144.9
Pipe-based Context Switching                  4000.0    35821.3       89.6
Process Creation                               126.0     3400.6      269.9
Shell Scripts (8 concurrent)                     6.0      645.9     1076.5
System Call Overhead                         15000.0   826432.8      551.0
                                                                 =========
     FINAL SCORE                                                     362.3

以下が、結果の一覧表です。

m1.smallc1.mediumm1.largem1.xlargec1.xlarge
Dhrystone 2 using register variables318.2839958.8961.41109
Double-Precision Whetstone396.4376.5301.6394.7487.2
Execl Throughput196.7371.7---
File Copy 1024 bufsize 2000 maxblocks113.8354.5537.8562.6643.4
File Copy 256 bufsize 500 maxblocks74.9221.3348.5361.1415.8
File Copy 4096 bufsize 8000 maxblocks239.5739.1906920.41101.7
Pipe Throughput48144.9259270.3314.1
Pipe-based Context Switching5589.6199.8156.9217
Process Creation111.1269.9272.2281.1320
Shell Scripts (8 concurrent)352.51076.51310.31637.71227.8
System Call Overhead447.2551226.8243.7283.4
m2.xlargem2.2xlargem2.4xlargecc1.4xlarge
Dhrystone 2 using register variables1311.41313.413131438.6
Double-Precision Whetstone549.9550.5550.8604
Execl Throughput----
File Copy 1024 bufsize 2000 maxblocks749.2743.5741.41645.2
File Copy 256 bufsize 500 maxblocks478.5478.2471.11049.4
File Copy 4096 bufsize 8000 maxblocks1512.21513.51495.82694.7
Pipe Throughput347.7349.4348.71059.8
Pipe-based Context Switching313.7298.1318.3-
Process Creation377.6377.5375.7225.3
Shell Scripts (8 concurrent)1826.72551.72333.8738.3
System Call Overhead362.2361.6363.1716.2

"cc1.4xlarge"は、計算処理もそうですが、ファイルコピーのパフォーマンスが素晴らしいですね。

あと、やはり、c1.medium(2.5ECU x 2)より、m1.large(2ECU x 2)の方が、CPUパワーが優れていそう(CPUの型番的には納得)なのと、m2.xlargeのI/Oパフォーマンスは"High"ではなかろうか?と思った次第。


最後に

長編となりましたが、全体的に、各インスタンスタイプやリージョンで、どの程度CPUやディスクI/Oのパフォーマンスで差異が出ているのかや、物理サーバとの比較結果を確認できたと思います。

考察については、各項目単位で述べてきたので、そちらをご参照ください。(まとめる体力がなくなったw)

それにしても、cc1.4xlargeのパフォーマンスが良かったのと、m2.xlargeのコストパフォーマンスが良さそうだ。コスパ的には、m1.smallが一番良いかもしれませんがね。


あと、ディスクI/Oパフォーマンスの結果を見て、これまで信頼性の観点から、EBSボリュームに設置しておけば、まず間違いないと思っていましたが、性能の観点からは、何でもかんでもEBSに置くものでもないな、と思いました。

この結果が、皆さんの何かの参考になれば。


あわせて読みたい



まとめ


chessbitchessbit 2010/08/03 17:33 すごく参考になりました。とても感謝!
ところで c1.medium は 32bit らしいですよー。

rx7rx7 2010/08/03 17:44 ご指摘ありがとうございます!
素で間違えていました(^^; ので、修正しておきましたー。

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。


オススメ (一部は、最近読んでいる本とも言う)
Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus) クラウド Amazon EC2/S3のすべて~実践者から学ぶ設計/構築/運用ノウハウ~ [Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ) エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド [24時間365日] サーバ/インフラを支える技術 ~スケーラビリティ、ハイパフォーマンス、省力運用 Linux-DB システム構築/運用入門 (DB Magazine SELECTION) キャパシティプランニング ― リソースを最大限に活かすサイト分析・予測・配置 スケーラブルWebサイト 実践ハイパフォーマンスMySQL 第3版 ウェブオペレーション ―サイト運用管理の実践テクニック (THEORY/IN/PRACTICE) SQLアンチパターン インターネットのカタチ―もろさが織り成す粘り強い世界― ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化 Linuxの教科書―ホントに読んでほしいroot入門講座 (IDGムックシリーズ)