質問: Azure初心者です。 オンプレミスで動いているSQL ServerをAzureに動かしたいので、ディスク速度を計測しています。 残念ながら、SQL Databaseは使えそうないシステムです。 Azureを契約後、CrystalDiskMarkでベンチマークを取ってみました。 最大IPSが16000だったので強そうだなーと期待して仮想マシンを作ったのですが、ベンチマーク結果は残念でした。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/ee187a51af3cdf3aa69ed4270d8037a3.png) ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/f3b84e47a39c33e73c38a8e7522baacd.png) Azureのディスク速度は普通に考えて遅いと思うのですが、クラウドのディスク速度はこんなものなのでしょうか。 どうにかして、ディスク速度を早くできませんか?
回答: Azure で、表記されている IO パフォーマンスを出すには、下記の対応が必要です。 1. Premium Disk (要は SSD ディスク) を使用する。 2. 複数のディスクをマウントする。 3. マウントした複数ディスクを論理的にまとめる。(Windows なら記憶域スペース) 今回のように、最大16ディスクマウントできる VM で 16,000 IOPS を出すには、P15 (256GB) のディスクを16本マウントし、16本すべてで記憶域スペースを構成してもらう必要があります。 ディスクの IO は↓をご参照ください。 https://azure.microsoft.com/ja-jp/pricing/details/managed-disks/ また、SQL Server を稼働させるのであれば、TempDB を D ドライブに構成することでパフォーマンスが改善されます。 Azure では D ドライブは、Hyper-V のローカル SSD ディスクを使用した揮発性ディスク(再起動により失われる可能性がある)となり、パフォーマンスに優れています。 TempDB は絶えず読み書きが発生するため、これによりパフォーマンス改善が見込めます。 また TempDB は SQL Server サービスが起動時に再作成されるため問題ないかと思います。