シングルコア仮想マシンでunixbench
ふと見かけたページのベンチマークでStandard A1が使われていたのを見かけて、さすがにイマドキは他の選択肢もあるだろうということでいくつか測定してみました。
いきなり結果
基本は東日本リージョンで測定しましたが、せっかく西日本にBシリーズがあるので参考までに測ってみました。
いつも通りですが、性能ならFシリーズ、コスパはBシリーズという感じですね。
リージョン | インスタンスタイプ | スコア | 価格 (円/h) |
所要時間 | ベンチマーク費用 (円) |
1円あたりのスコア |
---|---|---|---|---|---|---|
東日本 | Standard A1 (1 vcpu, 1.75 GB memory) | 741.9 | 8.262 | 28:00 | 3.9 | 192 |
東日本 | Standard_A1_v2 (1 vcpu, 2 GB memory) | 785 | 5.508 | 27:56 | 2.6 | 306 |
東日本 | Standard F1s (1 vcpu, 2 GB memory) | 1,770 | 6.426 | 28:09 | 3.0 | 587 |
西日本 | Standard B1ms (1 vcpu, 2 GB memory) | 1,015 | 3.264 | 28:24 | 1.5 | 657 |
米国西部2 | Standard F2s_v2 (2 vcpus, 4 GB memory) | 2,877 | 9.080 | 28:04 | 4.2 | 677 |
(2017年12月19日 追記) ついでにFv2シリーズも測定しておきました。これはまだ日本に来ていないので米国西部2リージョンで。米国安いですねぇ。 (追記ここまで)
測り方
各インスタンスを立ち上げてunixbenchをデフォルトで走らせました。
$ sudo apt-get update $ sudo apt-get -y install gcc make perl git $ git clone https://github.com/kdlucas/byte-unixbench $ cd byte-unixbench/UnixBench $ ./Run
Dv3, Ev3, Bシリーズ仮想マシンの性能検証
これは Microsoft Azure Advent Calendar 2017 11日目の記事です。
さて、先日も軽く触れたように西日本リージョンでDv3, Ev3, Bシリーズの仮想マシンが使えるようになりました。
ということで、改めて各シリーズの性能を検証して、使いどころを探ってみたいと思います。
コア単価とメモリ単価
まずはスペックシートの情報と価格から、よく使いそうな4コア仮想マシンのコア単価とメモリ単価を算出してみました。
以前に東南アジアリージョンで算出していたものの西日本版です。
▼コア単価
▼メモリ単価
傾向は東南アジアの時と似ています。コア単価上位にAシリーズがいますが、Fシリーズがほぼ同価格でACUが倍ということで、実質的にはFシリーズの圧勝ですね。
EとDでは、よりメモリが必要であればEシリーズ、CPU性能が高いのはDシリーズ、という棲み分けになりそうです。
ネットワーク
続いてネットワークですが、Azure公式サイトのスペック情報には記載があったり無かったりしましたので、おもだったインスタンスでスループットを実測してみました。
Azureのドキュメントで紹介されているNTttcp.exe を用いて、同じ仮想ネットワーク上の同じサイズの仮想マシン間で測定しました。
▼シリーズ間での違い
▼コア数による違い
こちらもテキスト版をGistに置きました
インスタンスのシリーズによる違いは、Bシリーズが遅めな他は(物理)コア数にほぼ比例するような結果になりました。Dシリーズであれば、同じコア数のv3よりv2の方が広帯域ということです。そしてLシリーズは飛び抜けてますね。
Dシリーズを使って、同じシリーズでのコア数による違いも実測してみました。ほぼコア数に比例して倍々で増えてますね(間にv2が挟まっていますがお気になさらず)。
ストレージ
個人的にはここがいちばん気になるところです。 西日本で今回新たに使えるようになった3種類に加えて、比較用に3種類を加えて測定しました。
サイズ | スペック | 特徴 |
---|---|---|
Standard B4ms | 4 vcpus, 16 GB memory | CPUがバーストできる。要するにt2。データディスクのキャッシュは有効にできない。 |
Standard E4s v3 | 4 vcpus, 32 GB memory | Turbo BoostとHyper Threadingできてメモリ多め。 |
Standard D4s v3 | 4 vcpus, 16 GB memory | DシリーズのHyper Threading対応版。 |
Standard D8s v3 | 8 vcpus, 32 GB memory | Dv3シリーズのコア数による違いの比較用。 |
Standard DS3 v2 | 4 vcpus, 14 GB memory | Dv3とDv2シリーズの比較用。Dv2は物理コア。 |
Standard L4s | 4 vcpus, 32 GB memory | 参考用(東日本)、ストレージ最適化インスタンス。データディスクのキャッシュは有効にできない。 |
デフォルトのCドライブ、Dドライブに加えて、データディスクとしてPremiumStorage(P30)をFドライブとしてアタッチしてそれぞれ計測しました。
キャッシュはC, DドライブでRead/Write有効、FドライブはReadのみ有効…とするつもりでしたが、測っていて気付いたのですが、Bシリーズ、Lシリーズは追加したディスクのキャッシュは有効化できないようです。ポータルから見るとこんなメッセージが出ていました。
また、Dv2シリーズは物理コア数、Dv3シリーズはHyper Threadingもカウントした論理コア数ということで、スペック表の記載でもそもそも列の数からして違っています。どういう違いになるか、実測して試してみましょう。ツールはいつものCrystalDiskMarkです。
シーケンシャルリード / ライト (MB/s)
こんな感じになりました。
サイズ | 測定項目 | Cドライブ (MB/s) |
Dドライブ (MB/s) |
Fドライブ(P30) (MB/s) |
---|---|---|---|---|
Standard B4ms | Sequential Read | 30.4 | 32.0 | 35.3 |
Sequential Write | 30.4 | 32.1 | 35.4 | |
Standard E4s v3 | Sequential Read | 67.5 | 69.2 | 67.5 |
Sequential Write | 67.5 | 69.2 | 67.5 | |
Standard D4s v3 | Sequential Read | 67.5 | 69.2 | 67.3 |
Sequential Write | 67.5 | 69.2 | 67.5 | |
Standard D8s v3 | Sequential Read | 134.9 | 136.1 | 135.0 |
Sequential Write | 135.0 | 136.7 | 135.0 | |
Standard DS3 v2 | Sequential Read | 134.1 | 136.7 | 134.2 |
Sequential Write | 101.0 | 136.7 | 135.0 | |
Standard L4s | Sequential Read | 205.1 | 207.3 | 127.9 |
Sequential Write | 197.9 | 207.9 | 128.8 |
BシリーズはEv3, Dv3の約半分という結果でした。スペック通りではありますね。
Dシリーズは、Dv3の8コアとDv2の4コアが同じくらいという結果になりました。
Lシリーズはさすが「ストレージ最適化インスタンス」ですね。
Random Read/Write その1 (IOPS, Q= 32,T= 1)
Q= 32,T= 1 の結果です。
サイズ | 測定項目 | Cドライブ (IOPS) |
Dドライブ (IOPS) |
Fドライブ(P30) (IOPS) |
---|---|---|---|---|
Standard B4ms | Random Read 4KiB | 3,684 | 3,898 | 3,935 |
Random Write 4KiB | 2,333 | 3,910 | 3,955 | |
Standard E4s v3 | Random Read 4KiB | 8,217 | 8,440 | 8,230 |
Random Write 4KiB | 7,994 | 8,443 | 5,137 | |
Standard D4s v3 | Random Read 4KiB | 8,240 | 8,375 | 8,235 |
Random Write 4KiB | 8,177 | 8,413 | 5,115 | |
Standard D8s v3 | Random Read 4KiB | 16,357 | 16,574 | 16,417 |
Random Write 4KiB | 16,316 | 16,675 | 5,134 | |
Standard DS3 v2 | Random Read 4KiB | 16,433 | 16,627 | 16,476 |
Random Write 4KiB | 15,109 | 16,553 | 5,130 | |
Standard L4s | Random Read 4KiB | 20,540 | 20,800 | 5,141 |
Random Write 4KiB | 20,401 | 20,772 | 5,149 |
こちらもシーケンシャルリード/ライトと概ね同じ傾向です。キャッシュが効く範囲ではインスタンスのサイズというかお値段がそのまま反映されますね。
Random Read/Write その2 (IOPS, Q= 1,T= 1)
こちらは Q= 1,T= 1 の結果です。
サイズ | 測定項目 | Cドライブ (IOPS) |
Dドライブ (IOPS) |
Fドライブ(P30) (IOPS) |
---|---|---|---|---|
Standard B4ms | Random Read 4KiB | 2,929 | 2,561 | 320 |
Random Write 4KiB | 3,529 | 3,377 | 338 | |
Standard E4s v3 | Random Read 4KiB | 3,967 | 2,924 | 3,992 |
Random Write 4KiB | 6,306 | 3,667 | 346 | |
Standard D4s v3 | Random Read 4KiB | 6,290 | 5,571 | 6,216 |
Random Write 4KiB | 8,176 | 8,352 | 345 | |
Standard D8s v3 | Random Read 4KiB | 16,030 | 5,506 | 15,880 |
Random Write 4KiB | 15,242 | 9,549 | 359 | |
Standard DS3 v2 | Random Read 4KiB | 9,100 | 4,014 | 12,308 |
Random Write 4KiB | 8,572 | 5,932 | 336 | |
Standard L4s | Random Read 4KiB | 18,662 | 6,079 | 441 |
Random Write 4KiB | 19,585 | 11,122 | 514 |
ちょっと面白い感じになりましたね。それでもLシリーズが速いのはさすが。
まとめ
というわけで、スペック表にあまり記載の無い項目をいろいろと実測してきました。インスタンスタイプ選定のお手伝いになりましたら幸いです。
尚、あくまで個人的に測定した結果ですので、今後、インフラ増強などで変化する可能性がありますのでご注意ください。
過去のベンチマークシリーズ
こちらからどうぞ。
▼Lシリーズ asazure.hatenablog.jp
▼Ev3シリーズ asazure.hatenablog.jp
▼Fv2シリーズ asazure.hatenablog.jp
仮想マシンのNIC追加がポータルからできるようになってました
タイトルで言いたいことを言い切った感じではあるんですが、AzureポータルのGUI操作だけで複数のNICをアタッチできるようになっていました。これまではPowerShellやCLIでの操作が必要だったんですよね。
(参考記事)
Azureで単数NICの仮想マシンを複数NICにする – Japan Azure Technical Support Engineers' Blog
見たままで迷うところはありませんが、簡単に手順を。
「Attach Network Interface」を選んで
アタッチしたいNICを選んで
しばらく待つとアタッチされたNICがタブに表示されます。
インスタンス上でもちゃんと2枚見えてますね(これはUbuntuの例)。
当然ですが、外す方もポータルからできます。便利になりましたね。
西日本で仮想マシンDv3、Ev3、Bシリーズが選べるようになっていました
コミュニティではすでに話題ですが、西日本リージョンの仮想マシンでDv3、Ev3、Bシリーズの仮想マシンが選べるようになっていました。
Cloud Shell からもご覧の通り。もしかしてと思って東日本を確認してみたらやっぱりまだでした。
Dv3、Ev3シリーズといえば「Nested Virtualization」対応で仮想マシンのHyper-Vを有効化できるようになりました。
画像は普通にHyper-Vを有効化してDocker for WindowsをインストールしてLinux Container上でnginxを走らせてみたところ。特殊な手順はなくいつも通りでOKです。
Nested Virtualizationについてはこちらのドキュメントをどうぞ。 docs.microsoft.com
ふと見ると、SR-IOV (Accelerated Networking) も有効になっていました。少し前に東日本で有効化されていましたが、西日本でもいつの間にか有効になったようです。
Accelerated Networking についての詳細はこちら。 docs.microsoft.com
リリースにはまだ記載が無いので、今回のアップデートかもしれませんね。 General availability (Windows) and preview (Linux): Accelerated Networking
Azure Fv2シリーズ仮想マシンのストレージベンチマーク
仮想マシンのFシリーズに第2世代の「Fv2」シリーズが登場していました。お待ちかねのSkylake搭載で最大3.7GHz(ターボブースト時)とのこと。
Azure 最速の VM「Fv2」シリーズの提供を開始 – IT プロフェッショナルのみなさまへ
最大構成時のIOPSが、キャッシュ付きローカルディスクとはいえ128,000という記述を見かけたので、さっそく恒例のベンチマークを。 このあたりの記事の続きです。
そもそもスペックは?
このあたりをどうぞ。2コア、4GiBメモリ、4,000IOPSから、72コア、144GiB、144,000IOPSまで。
ベンチマーク
F2s(2コア)、F16s(16コア)、F72s(72コア)、の3つのインスタンスをWindowsで立てました。 Cドライブ、Dドライブのほか、FドライブにP30のPremium Storageを接続して測定してみたのですが、結果だけ見ると(ディスクの)スペック以上の値が出てます。
IOPSのまとめ
インスタンスのサイズに比例して見事に上がってます。 FドライブのRandom Writeに実力値が出てますが、相当大きなキャッシュが積まれているようですね。
▼Q= 32,T= 1
サイズ | 測定項目 | Cドライブ | Dドライブ | Fドライブ(P30) | Fドライブ(P30) ※32GiBデータで計測 |
---|---|---|---|---|---|
F2s_v2 | Random Read 4KiB | 4,111 | 4,314 | 4,119 | |
Random Write 4KiB | 4,121 | 4,322 | 3,296 | ||
F16s_v2 | Random Read 4KiB | 32,960 | 33,165 | 32,958 | 32,951 |
Random Write 4KiB | 32,960 | 33,151 | 5,117 | 5,120 | |
F72s_v2 | Random Read 4KiB | 134,593 | 143,956 | 131,560 | 111,246 |
Random Write 4KiB | 130,902 | 143,805 | 5,108 | 5,119 |
こちらは参考までに、Q=1 の結果も載せておきます。
▼Q= 1,T= 1
サイズ | 測定項目 | Cドライブ | Dドライブ | Fドライブ(P30) | Fドライブ(P30) ※32GiBデータで計測 |
---|---|---|---|---|---|
F2s_v2 | Random Read 4KiB | 3,847 | 3,889 | 3,679 | |
Random Write 4KiB | 4,085 | 4,261 | 503 | ||
F16s_v2 | Random Read 4KiB | 32,152 | 7,367 | 16,575 | 10,898 |
Random Write 4KiB | 31,969 | 14,137 | 544 | 515 | |
F72s_v2 | Random Read 4KiB | 24,938 | 7,045 | 21,658 | 27,792 |
Random Write 4KiB | 23,508 | 20,428 | 413 | 417 |
F2s(2コア、4GiBメモリ)
Cドライブ
Dドライブ
Fドライブ
F16s(16コア、32GiBメモリ)
Cドライブ
Dドライブ
Fドライブ
F72s(72コア、144GiBメモリ)
Cドライブ
Dドライブ
Fドライブ
Azureのクラシックポータルで扱えなくなるサービス(予定)
(2017/12/08 追記)
クラシックポータル終息のお知らせが公式にアナウンスされました。
Azure portal update for classic portal users
we will be sunsetting the Azure classic portal on January 8, 2018.
ということで、2018年1月8日から段階的に廃止していくということでしょうか。
(追記終わり)
Azureのクラシックポータルを操作していると、ことあるごとに「xx月xx日以後は新しいポータルのみになるよ」というメッセージが出てくるようになったので、左メニューをひととおり開いて確かめてみました。
結果として、こんな感じでした。
- 仮想ネットワーク: 2017/10/05
- Service Bus: 2017/10/05
- 仮想マシン: 2017/11/15
- クラウドサービス: 2017/11/15
- Recovery Services: 2017/11/30
- Azure Active Directory: 2017/11/30 (2018/1/8 に変わってました: 2017/12/7追記)
- Visual Studio Team Services: 2017/11/30
ストレージや管理証明書、共同管理者の設定などは既に新しいポータルに移行済みですね。 いよいよ秒読みですかねぇ。
Ignite 2017 で気になったAzure新機能
Ignite 2017 にあわせて大量のAzureアップデートが発表されましたね。 こちらのリリース一覧から、自分用の後で読むリストも兼ねて気になったところをピックアップしてみました。
Cloud Platform Release Announcements for September 25, 2017 | Cloud Platform News Bytes Blog
仮想マシン関連
- Availability Zoneが明示的に指定できるようになりました。
- Gシリーズ、HシリーズのVMを値下げ
ネットワーク関連
- DDoS Protection がプレビュー。
- Traffic Managerも強化、「Real User Measurements」「Traffic View」
- Point to Site VPN がMacをサポート。
- ロードバランサーにStandard Tierが登場、HA Portsで柔軟な設定もやりやすく。Multi-Az対応も?
- VNet Peering がリージョン間で張れるように。リージョン間トラフィックも閉域網。
- Azure StorageとSQL DatabaseがVNet内にエンドポイントを持てるように。
- NSGで「Storage」「SQL」といったタグが指定できるようになった。
- Application Security Groupsが登場、NSGより抽象的な層でグループを定義できる。
料金関連
その他
- Azure Batch のレンダリングサービスがGAしました。
- Azure Cloud SHellにPowerShellが登場、コマンドレットもちょっと短く。
- Azure Data Box がリミテッドプレビュー(いわゆるSnowball的なアプライアンス?)
- Azure Files Sync がプレビュー。ファイルサーバーにエージェントを入れるとティアリングしてくれるもの。
- Azure ML Workbenchが登場、クロスプラットフォームなIDE的アプリ、作ったモデルをDocker Imageとして出力できる。
たくさんありますねー。