浅草橋青空市場

Microsoft Azure のニュースや情報を中心にあれこれと

シングルコア仮想マシンで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シリーズの仮想マシンが使えるようになりました。

asazure.hatenablog.jp

ということで、改めて各シリーズの性能を検証して、使いどころを探ってみたいと思います。

コア単価とメモリ単価

まずはスペックシートの情報と価格から、よく使いそうな4コア仮想マシンのコア単価とメモリ単価を算出してみました。
以前に東南アジアリージョンで算出していたものの西日本版です。

▼コア単価
f:id:yhara90:20171213065712p:plain

▼メモリ単価
f:id:yhara90:20171213065720p:plain

テキスト版はGistに置きました

傾向は東南アジアの時と似ています。コア単価上位にAシリーズがいますが、Fシリーズがほぼ同価格でACUが倍ということで、実質的にはFシリーズの圧勝ですね。

EとDでは、よりメモリが必要であればEシリーズ、CPU性能が高いのはDシリーズ、という棲み分けになりそうです。

ネットワーク

続いてネットワークですが、Azure公式サイトのスペック情報には記載があったり無かったりしましたので、おもだったインスタンススループットを実測してみました。
Azureのドキュメントで紹介されているNTttcp.exe を用いて、同じ仮想ネットワーク上の同じサイズの仮想マシン間で測定しました。

▼シリーズ間での違い f:id:yhara90:20171213071716p:plain

▼コア数による違い f:id:yhara90:20171213071728p:plain

こちらもテキスト版を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シリーズは追加したディスクのキャッシュは有効化できないようです。ポータルから見るとこんなメッセージが出ていました。

f:id:yhara90:20171211234737p:plain

また、Dv2シリーズは物理コア数、Dv3シリーズはHyper Threadingもカウントした論理コア数ということで、スペック表の記載でもそもそも列の数からして違っています。どういう違いになるか、実測して試してみましょう。ツールはいつものCrystalDiskMarkです。

docs.microsoft.com

シーケンシャルリード / ライト (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の約半分という結果でした。スペック通りではありますね。

docs.microsoft.com

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をアタッチできるようになっていました。これまではPowerShellCLIでの操作が必要だったんですよね。

(参考記事)
Azureで単数NICの仮想マシンを複数NICにする – Japan Azure Technical Support Engineers' Blog

見たままで迷うところはありませんが、簡単に手順を。

「Attach Network Interface」を選んで f:id:yhara90:20171205170333p:plain

アタッチしたいNICを選んで f:id:yhara90:20171205170342p:plain

しばらく待つとアタッチされたNICがタブに表示されます。 f:id:yhara90:20171205170352p:plain

インスタンス上でもちゃんと2枚見えてますね(これはUbuntuの例)。 f:id:yhara90:20171205170401p:plain

当然ですが、外す方もポータルからできます。便利になりましたね。

西日本で仮想マシンDv3、Ev3、Bシリーズが選べるようになっていました

コミュニティではすでに話題ですが、西日本リージョンの仮想マシンでDv3、Ev3、Bシリーズの仮想マシンが選べるようになっていました。 f:id:yhara90:20171204220126p:plain

Cloud Shell からもご覧の通り。もしかしてと思って東日本を確認してみたらやっぱりまだでした。 f:id:yhara90:20171204220401p:plain

Dv3、Ev3シリーズといえば「Nested Virtualization」対応で仮想マシンHyper-Vを有効化できるようになりました。
画像は普通にHyper-Vを有効化してDocker for WindowsをインストールしてLinux Container上でnginxを走らせてみたところ。特殊な手順はなくいつも通りでOKです。 f:id:yhara90:20171204220422p:plain

Nested Virtualizationについてはこちらのドキュメントをどうぞ。 docs.microsoft.com

ふと見ると、SR-IOV (Accelerated Networking) も有効になっていました。少し前に東日本で有効化されていましたが、西日本でもいつの間にか有効になったようです。 f:id:yhara90:20171204220443p:plain

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という記述を見かけたので、さっそく恒例のベンチマークを。 このあたりの記事の続きです。

asazure.hatenablog.jp

asazure.hatenablog.jp

そもそもスペックは?

このあたりをどうぞ。2コア、4GiBメモリ、4,000IOPSから、72コア、144GiB、144,000IOPSまで。

docs.microsoft.com

ベンチマーク

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ドライブ f:id:yhara90:20171026214127p:plain

Dドライブ f:id:yhara90:20171026214149p:plain

Fドライブ f:id:yhara90:20171026214202p:plain

F16s(16コア、32GiBメモリ)

Cドライブ f:id:yhara90:20171026214219p:plain

Dドライブ f:id:yhara90:20171026214237p:plain

Fドライブ f:id:yhara90:20171026214249p:plain

F72s(72コア、144GiBメモリ)

Cドライブ f:id:yhara90:20171026214307p:plain

Dドライブ f:id:yhara90:20171026214318p:plain

Fドライブ f:id:yhara90:20171026214329p:plain

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日以後は新しいポータルのみになるよ」というメッセージが出てくるようになったので、左メニューをひととおり開いて確かめてみました。

f:id:yhara90:20171004124003p:plain

結果として、こんな感じでした。

  • 仮想ネットワーク: 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 VPNMacをサポート。
  • ロードバランサーにStandard Tierが登場、HA Portsで柔軟な設定もやりやすく。Multi-Az対応も?
  • VNet Peering がリージョン間で張れるように。リージョン間トラフィックも閉域網。
  • Azure StorageとSQL DatabaseがVNet内にエンドポイントを持てるように。
  • NSGで「Storage」「SQL」といったタグが指定できるようになった。
  • Application Security Groupsが登場、NSGより抽象的な層でグループを定義できる。

料金関連

  • Reserved VM Instances でVMが割引になります(いわゆるRI)。
  • Cloudyn が「Cost Management」となって無料で使えます(コスト管理)。

その他

  • Azure Batch のレンダリングサービスがGAしました。
  • Azure Cloud SHellにPowerShellが登場、コマンドレットもちょっと短く。
  • Azure Data Box がリミテッドプレビュー(いわゆるSnowball的なアプライアンス?)
  • Azure Files Sync がプレビュー。ファイルサーバーにエージェントを入れるとティアリングしてくれるもの。
  • Azure ML Workbenchが登場、クロスプラットフォームIDE的アプリ、作ったモデルをDocker Imageとして出力できる。

たくさんありますねー。