2008/12/22

Amazon EC2で利用できるインスタンスの性能一覧

インスタンスの性能とはこのことです。
タイプによっては向き不向きがありますし、何より料金が変わってきます。

 

下線が引かれているのが上図のインスタントタイプとの対応しています。

Small Instance
m1.small $0.1/1時間

  • 1.7 GB memory
    1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit)
    160 GB instance storage (150 GB plus 10 GB root partition)
    32-bit platform
    I/O Performance: Moderate

Large Instance
m1.large $0.4/1時間

  • 7.5 GB memory
    4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each)
    850 GB instance storage (2×420 GB plus 10 GB root partition)
    64-bit platform
    I/O Performance: High

Extra Large Instance
m1.xlarge $0.8/1時間

  • 15 GB memory
    8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each)
    1,690 GB instance storage (4×420 GB plus 10 GB root partition)
    64-bit platform
    I/O Performance: High

 

High-CPU Medium Instance
c1.medium $0.2/1時間

  • 1.7 GB of memory
    5 EC2 Compute Units (2 virtual cores with 2.5 EC2 Compute Units each)
    350 GB of instance storage
    32-bit platform
    I/O Performance: Moderate

High-CPU Extra Large Instance
c1.xlarge $0.8/1時間

  • 7 GB of memory
    20 EC2 Compute Units (8 virtual cores with 2.5 EC2 Compute Units each)
    1690 GB of instance storage
    64-bit platform
    I/O Performance: High

 

via Amazon EC2 Instance Types

 

上の3つはStandard Instancesと呼ばれ通常のサーバなどの用途に向いています。
下の2つはHigh-CPU Instancesと呼ばれ複雑な計算などに向いています。

もちろんどちらをどの様に使っても問題ありません。
また、これらを組み合わせて使用するといった使い方も可能です。

 

1 EC2 Compute Unit というのは理論的なCPUの事です。

例えば

4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each)

と書かれている場合は、デュアルコアを2つ搭載したマシン(計4つのCPUコア)を仮想的に提供してくれます。
割り振られるのはIntel XeonやAMD Opteronだったり色々です。

自分が確認したのは

  • Dual-Core AMD Opteron(tm) Processor 2218 HE
  • Dual Core AMD Opteron(tm) Processor 270
  • Intel(R) Xeon(R) CPU           E5345  @ 2.33GHz

利用するインスタンスによって性能も替わってくるようです。
ただし、これらはあくまでもAmazonのデータセンターに入っているCPUであってこれを仮想的に分割して、大体1コア=1GHz程度の性能だと言われています。

簡単なベンチマークですを行ってみました。
Pythonで作ったもので、マルチコアの最適化なんてしていません。
数字が少ない方が性能が良いという事になります。

  • 105秒 1.6GHz Pentium M 512MB
  • 170秒 Small Instance
  • 90秒 High-CPU Extra Large Instance
  • 61秒 2.6GHz Core 2 Duo 2GB

おそらく最適化を施せばHigh-CPU Extra Large Instanceがかなりスコアを伸ばしそうです。

通常のWebサーバなどそこまでCPUに依存しない場合はSmall Instanceでも問題なさそうです。
ただ、Webサーバーとして考えるとネットワークが非常にボトルネックとなってしまいます。

1秒間に処理できるリクエストを調べる簡単なベンチマークを行ってみました。
数字が大きい方が性能が良いという事になります。

  • 3.5/秒 Small Instance
  • 3.9/秒 Large Instance
  • 3.3/秒 High-CPU Extra Large Instance
  • 3356/秒

最後は日本国内のサーバーに対して同じ実験を行いました。
約1000倍近い数字が出てしまったのがショックです。

 

Webサーバーとしてサービスを展開するには少々心ない数字です。
しかし、莫大なプロセッサパワーを安価に利用することが出来るので、学術計算などの用途への利用が考られるのではないでしょうか。