みんな待ってた!マイクロソフトリサーチが提供するAzureベンチマーク
「Azureってどのくらいパフォーマンス出るの?」はTOP FAQのひとつ。
マジメにAzure導入を検討されている企業も、「まずは調査から…」ということで
パフォーマンス調査が必ずといってよいほど項目に入っているし、運用を開始した後も
拡張やチューニングをする際に「他のサービスではどうなんだろう?」ということで
問い合わせを受けることが多い。
ただ、ベンダー自身がベンチマーク結果を公表することは結構リスクがあって、
数字が一人歩きしてしまうと「性能でないんだけど何とかしろ!」的な問い合わせが
発生してしまいがちなため、Azureも稼働保証のSLAこそ提示しているものの、
性能がらみの数値は基本的に公表していない。
そんな中、マイクロソフトリサーチが公表している貴重なベンチマーク結果があるのを
ご存じだろうか?あまり広くご案内できてないので紹介しておこう。
こちらのサイト Azurescope http://azurescope.cloudapp.net/ をご覧いただくと、
ストレージやRoleのベンチマーク結果や、ベンチマーク用のコードが公開されている。
例えば、下記は SQL Azure の性能測定 で…
…ありがたいことに、このベンチマークから得られたチューニングTIPSもまとめている。
* Throughput increases with the increase in number of concurrent clients (NumberOfWorkers * ThreadsPerWorker) and saturates at a maximum value.
* Bigger batch size improves throughput.
* Smaller row size improves throughput.
* Employing more than one thread per worker improves throughput.
上記に従って、SQL Azureに接続するWorker/Web Roleの数やスレッドを増やし、
バッチサイズを大きくして、行のサイズはできるだけ小さく、といったことをすると
SQL Azureが気持ちよく動いてくれるはず、ということらしい。まあ想定の範囲内
ではあるけれど、実際の測定結果とあわせてみると説得力がある。
また、「ベンダー自身が都合よく測定した結果などあてにならん!」という方は、
ベンチマーク用のサンプルコードが公開されているので、それを用いてご自身で
測定していただくこともできる。
さて、このありがたい活動をしてくれているのは誰か?というと、マイクロソフト本体とは
別会社であるマイクロソフトリサーチに所属しているExtreme Computing Groupのメンバー。
クラウドやらソーシャルやらNUIその他諸々非常に興味深いトピックの基礎研究を行っており、
たまにその成果をポロッと発表してたりするので要チェック。
今回ご紹介したベンチマークで事足りる場合には、せっかくなので是非活用いただきたい
のだが、これでは検証項目が足りない!という方はご自身で測定した結果を適宜公表
していただければと思う。ベンダーとしてお願いしたいのは、単に数字が一人歩きする
ような出し方ではなく、測定方法の詳細な説明や、得られた示唆、チューニング方法などを
しっかりと伝えるようにご配慮いただきたいという点。
言うまでもなく、ロードバランサーなどのネットワーク系やゲストOSがホストされている
ハードウェア含むファブリックの部分が他のサービスと共有されるクラウドの性能は
動的にならざるを得ない。困ったときの対処法や、転ばぬ先のなんとやらは、
マイクロソフトだけにたよることなく、是非Azureユーザー会"JAZ"を中心に
みんなの知恵として編纂していって欲しいと切に願う。