2017年10月6日金曜日

Azure 仮想マシンの smalldisk な性能は謎

2017年9月26日 [Public preview: PowerShell in Azure Cloud Shell]粗訳

OSディスクの話。普通にSSDで仮想マシンを作ると、128GBのSSDが割り当てられる。ポータルで確認しても、IOPSの上限は500、スループットは60MB/秒

128ssd

そのときの、CrystalDiskMarkの結果

-----------------------------------------------------------------------
CrystalDiskMark 5.2.1 x64 (C) 2007-2017 hiyohiyo
                            Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

   Sequential Read (Q= 32,T= 1) :    68.445 MB/s
   Sequential Write (Q= 32,T= 1) :    59.840 MB/s
   Random Read 4KiB (Q= 32,T= 1) :    34.551 MB/s [  8435.3 IOPS]
  Random Write 4KiB (Q= 32,T= 1) :    27.933 MB/s [  6819.6 IOPS]
          Sequential Read (T= 1) :    68.995 MB/s
         Sequential Write (T= 1) :    54.946 MB/s
    Random Read 4KiB (Q= 1,T= 1) :    32.141 MB/s [  7846.9 IOPS]
   Random Write 4KiB (Q= 1,T= 1) :    17.622 MB/s [  4302.2 IOPS]

  Test : 50 MiB [C: 73.3% (93.0/127.0 GiB)] (x2)  [Interval=5 sec]
   Date : 2017/10/06 18:04:22
     OS : Windows Server 2016 Datacenter (Full installation) [10.0 Build 14393] (x64)
  

ポータルで、[smalldisk]と書かれたイメージを発見。

smalldisk

実際に、32GBのSSDがわりあてられてるっぽい。ポータルで確認しても、IOPSは120、スループットは、25MB/秒という表記。

32ssd

そのときの、CrystalDiskMarkの結果

-----------------------------------------------------------------------
CrystalDiskMark 5.2.2 x64 (C) 2007-2017 hiyohiyo
                            Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

   Sequential Read (Q= 32,T= 1) :    67.299 MB/s
   Sequential Write (Q= 32,T= 1) :    67.420 MB/s
   Random Read 4KiB (Q= 32,T= 1) :    33.616 MB/s [  8207.0 IOPS]
  Random Write 4KiB (Q= 32,T= 1) :    33.753 MB/s [  8240.5 IOPS]
          Sequential Read (T= 1) :    67.531 MB/s
         Sequential Write (T= 1) :    67.532 MB/s
    Random Read 4KiB (Q= 1,T= 1) :    33.425 MB/s [  8160.4 IOPS]
   Random Write 4KiB (Q= 1,T= 1) :    33.419 MB/s [  8158.9 IOPS]

  Test : 50 MiB [C: 42.3% (12.7/30.0 GiB)] (x2)  [Interval=5 sec]
   Date : 2017/10/06 9:08:38
     OS : Windows Server 2016 Datacenter (Full installation) [10.0 Build 14393] (x64)
  

ほぼ同じ性能ってどういうこと?!書き込みにいたっては、本来パフォーマンスの低いであろう32GBの方が性能でてるようにも見えるし。。。

謎。

2017年9月7日木曜日

アーカイブストレージからクールストレージにリストアしたときにかかる時間検証

ちょっと前からはじまっている、アーカイブストレージのプレビュー。今のところ、米国東部2でのみ利用可能。アーカイブしたファイルを取り出すのにどのくらい時間がかかるのか検証。

アーカイブストレージの詳細は https://docs.microsoft.com/ja-jp/azure/storage/blobs/storage-blob-storage-tiers

これによると、50GB未満のBLOB処理で、最大15時間かかるとのこと。

やってみたことは、

  1. アーカイブできるストレージアカウントの作成
  2. BLOB配置のためのコンテナ作成
  3. BLOB(画像、約1.7MB)のアップロード
  4. BLOBに https でアクセスできることを確認
  5. Access Tier を Archive に変更
  6. BLOB にhttps でアクセスしてエラーになることを確認 (409エラーとなる)
  7. Access Tier を Cool に変更
  8. BLOB に https で定期的にアクセスし、200がかえってくるまでの時間を測定

検証方法

Application Insights を使って、5分間隔で、pingしてみる。

結果

ほぼ、1時間で、Archive から Cool に Access Tier の変更が完了。

まとめ

プレビューで利用している人がすくないからかもしれないけど、全然、15時間かからない。良い感じ。もっと大きなファイルになったらどうなるのか、後日検証。

2017年2月19日日曜日

管理ディスク(Managed Disk)を使う時の注意点。

便利。

煩わしい、ストレージアカウントを使わなくてイイので、管理が楽。

が、当然、落とし穴もある。

1つ目の落とし穴は課金が増えること。使ってない領域分も課金されるからね。

2つ目はデータセンターによっては可用性セットが2つに限定されてしまうこと。東日本・西日本は、現在のところ、ほんとに可用性セット2つしかつくれない。

可用性セット2つだと色々問題でるよなーーーーーー

ということで、東日本・西日本データセンターをつかうときは、今まで通りストレージアカウントをつかうことが、現時点ではオススメ。

2017年1月13日金曜日

Web Apps、サーバーヘッダを削除する

以前、オフィシャルブログに書かれていた内容。

ウェブサーバーの情報を削除する

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <remove name="X-Powered-By" />
      </customHeaders>
    </httpProtocol>
    <security>
      <requestFiltering removeServerHeader="true" />
    </security>
  </system.webServer>

  <system.web>
    <httpRuntime enableVersionHeader="false" />
  </system.web>
</configuration>

<security>
   <requestFiltering removeServerHeader="true" />
</security>
で、サーバー情報の削除

<customHeaders>
     <remove name="X-Powered-By" />
</customHeaders>
で、X-Powered-By の削除。(ただし、ASP.NETだけ)

<system.web>
   <httpRuntime enableVersionHeader="false" />
</system.web>
で、バージョン番号の削除。