SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Azure VM のキャッシュなしのディスク性能について

leave a comment

Azure VM のディスク性能ですが、Windows Azure 仮想マシンで SQL Server ワークロードを実行する際に知っておくべき 10 のこと に以下のように記載されています。

8 KB IO で読み取り/書き込みの割合が 60/40 のワークロードの場合、ディスク 1 台あたり最大 500 IOPS が目標ラインです。これを上回る数字が必要な場合は、データ ディスクを追加して、データベース ワークロードを分散してください。大規模なデータベースを作成または復元する際は、ファイルの瞬時初期化の機能を使用してパフォーマンスの向上を図ってください。

また、Virtual Machine and Cloud Service Sizes for Windows Azure の表にも、最大 500IOPS という記載があります。

image

 

この 500IOPS ですが、キャッシュが無効になっている際の性能のようですね。
SQLIO を使用して読み取りと書き込みのキャッシュが無効になっているディスク 1個に対して限界まで負荷をかけた時の IO 性能が以下になります。上限が 500IOPS となっています。

  8KB       64KB      
  Sequential
Read
Sequential
Write
Random
Read
Random
Write
Sequential
Read
Sequential
Write
Random
Read
Random
Write

IOPS

495.33

495.51

496.10

492.35

491.91

495.30

495.85

496.33

MB/sec

3.86

3.87 3.87 3.84 30.74 30.95 30.99 31.02

 

Performance Guidance for SQL Server in Windows Azure Virtual Machines に記載されているディスク性能が以下になります。上記のドキュメントの結果は SQLIO で 10GB のファイルに対して 3分実行しており、自分で検証したのは 1GB のファイルに対して 1 分間の負荷なので多少違いは出ていますが、同程度の性能になっていますね。
# 当たり前といえば当たり前なのですが…。

image

 

ディスクを 2 個に増やして、それぞれのドライブに対して IO をかけた結果がこちらになります。きちんと倍になっていますね。
# ディスクをストライピングで束ねた状態でも似たような結果になりました。

  8KB       64KB      
  Sequential
Read
Sequential
Write
Random
Read
Random
Write
Sequential
Read
Sequential
Write
Random
Read
Random
Write

IOPS

989.74

987.80

989.18

992.41

991.55

985.40

991.61

946.68

MB/sec

7.73

7.71

7.72

7.75

61.97

61.58

61.97

59.16

 

インスタンスのサイズを上げれば、最大で 16 ディスクまで接続できますのでリニアに IOPS はあげられそうですね。

Written by masayuki.ozawa

8月 19th, 2013 at 12:55 am

Posted in Windows Azure

Tagged with

Leave a Reply

*