Azure IOPSについて
IOPS
「Input/output operations per second」の略で、1秒あたりにディスクが処理可能なI/Oアクセス数(インプットとアウトプットの数)のことです。アイオーピーエスもしくはアイオプスと読まれます。I/Oアクセス数の1回は、データ転送時間・平均アクセス時間を足した数です。I/Oアクセスが1秒間で何回実行できるかの数値がIPOSとなります。一般的には、IOPSの数値が高いほど高性能なディスクとされています。しかし、データ転送速度はインタフェース転送速度や平均メディア転送速度、CPUの処理時間などが加算されるため正しい数値把握は難しく、ただ単にIOPSの数値が高ければ高性能で高いパフォーマンスに繋がる訳ではなくIOPS以外にも様々な要因があります。HDD、SSDなどの入出力性能指標を示す単位として使用されています。
<算出方法の例>
・IOPS = 1/ 1回のIOにかかる平均時間(秒)
・IOPS = 1/ ディスク読み出し時間(秒)
・IOPS = 1/ (平均待ち時間(秒) + データ転送時間(秒))
・IOPS = 1/ (平均シーク時間(秒) + 平均回転待ち時間(秒) + データ転送時間(秒))
インプットとアウトプット
「インプット」とはデータの入力のことで、システムサーバからストレージにデータの書き込みを行うことを指しています。「アウトプット」とはデータの出力のことで、システムサーバからストレージ内のデータを参照、別ストレージへの移行など、データの読み込みを行うことを指しています。インプット・アウトプットは「I/O」と表現されます。
スループット(Throughput)
コンピュータやネットワークが一定時間内に処理可能なデータ量です。単位は「bps・kbps・Mbps」で1秒あたりのデータ量をビット数で表します。具体的には、使用するシチュエーションで異なりますが、例として通信分野での「スループット」は、一定時間内に転送可能なデータ量つまり転送速度を表します。ディスク性能を測定する上では「IOPS」と「スループット」の2つの指標の正しい把握が重要とされています。
<算出方法の例>
・IOPS × 1回に読み出すデータ量
仮想化環境とストレージ性能
仮想化環境でもストレージシステムを使用しており、ほとんどの場合共有ストレージです。仮想化環境のサーバは仮想マシンを多数搭載するためストレージへのアクセス集中による性能がネックとされています。
ストレージデバイス
ストレージデバイス(記録媒体)は「HDD」と「SSD」が代表的です。「HDD」は「Hard Disk Drive」の略で、プラッタと呼ばれる内蔵磁気ディスクの回転によってデータの読み書きを行います。「SSD」は「Solid State Drive」の略で、メモリーチップを内蔵した記録媒体です。HDDと違い、内部で駆動する部位がないため小型で軽量なのが特徴です。また、メモリーチップを使用していることでデータ読み書きの処理速度・起動速度も短縮できます。しかし、HDDに比べ容量あたりの価格が高く、データ復旧が困難などデメリットもあります。
シーケンシャルI/OとランダムI/O
「シーケンシャルI/O(もしくはシーケンシャルアクセス)」
シーケンシャルは「順次的な、逐次的な」という意味で、「シーケンシャルI/O」は先頭から順に連続してデータにアクセス(読み書き)を行います。データ構造によってはランダムにアクセスするよりも高速で行うことができます。スループットが指標として使用されることが多く、ファイルコピーなどの速さに直結する要素です。HDDはシーケンシャルI/Oが得意とされています。
「ランダムI/O(もしくはランダムアクセス)」
連続せず順序無関係に指定された領域・データへのアクセス(読み書き)を行います。IOPSが指標として使用されることが多く、OS・アプリケーションの起動、Webブラウザでの画像表示などの操作の目安になる要素です。SSDはランダムI/Oが得意とされています。
Azureストレージ
Azure StorageにはBlob(Binary large object)・Files・Queue・Tableの4種類+Diskのストレージ機能があり、ストレージアカウントを作成することで利用できます。4つの機能とストレージアカウントそれぞれでIOPSの制限が存在します。
・Azure Blob Storage:オブジェクトストレージ。テキストデータ、バイナリデータなどの格納を行います。page Blob/Block Blob/追加Blobに分けられます。
・Azure Files Storage:ファイル共有ストレージ
・Azure Queue Storage:メッセージ格納機能
・Azure Table Storage:NoSQLデータベース
・Azure Disk Storage: premium / Standard、仮想マシン用ストレージ
ストレージアカウント
ストレージアカウントは数種類あり、パフォーマンスを選択可能です。パフォーマンスレベルはStandard(HDD/SSD)とPremium(SSD)が用意されています。目的によって選択可能でそれぞれサポートする機能・価格が異なります。
<ストレージアカウントの種類>
・汎用v1:従来のBlob・Files・Queue・Table・Disk用アカウント、パフォーマンスレベルStandard・Premiumをサポートする。
・汎用v2:最新機能のサポートも行う基本的なBlob・Files・Queue・Table・Disk用アカウント、パフォーマンスレベルStandard・Premiumをサポートする。
・BlobStorage:従来のBLOB専用のStandardパフォーマンスレベルのアカウント
・BlockBlobStorage:BLOB専用ののPremiumパフォーマンスレベルのアカウント
・FileStorage:ファイル専用のPremiumパフォーマンスレベルのアカウント
<パフォーマンス>
「Standardストレージ」は、パフォーマンス面で制約はありますがコスト効率に優れているのが特徴です。使用量(ディスクサイズ)、トランザクション量、送信データ転送回数などに応じて課金が行われます。「Premiumストレージ」は、高いIOPSとスループットが提供されているのが特徴です。ディスクサイズのプラン(P4 32GB 、P6 64GB、P10 128GB、P20 512GB、P30 1TB、P40 2TB、P50 4TB)に応じた課金が行われます。
Azure Managed Disks
従来Azure仮想マシンを使用するためにはストレージアカウントを準備する必要がありましたが、2017年よりストレージアカウントが不要のAzure仮想マシン専用ディスクサービス「Managed Disks」の提供が開始されました。ストレージアカウント同様にStandard(HDD/SSD)・Premium(SSD)両方に対応しており、2019年よりさらに高パフォーマンスなUltra(SSD)も登場しています。目的によって自由に選択することが可能となっています。利用料金はプラン(S4 32GB、S6 64GB、S10 128GB等)による月額料金に加えてトランザクション量、送信データ転送回数など使用した量に応じて課金が行われます。
Azureのディスクサイズ別 最大IOPS と スループット 一覧
<Premium SSD Managed Disks> | ||
プラン | IOPS | スループット |
P1 4GB | 最大120 IOPS | 25MB/s |
P2 8GB | 最大120 IOPS | 25MB/s |
P3 16GB | 最大120 IOPS | 25MB/s |
P4 32GB | 最大120 IOPS | 25MB/s |
P6 64GB | 最大240 IOPS | 50MB/s |
P10 128GB | 最大500 IOPS | 100MB/s |
P15 256GB | 最大1,100 IOPS | 125MB/s |
P20 512GB | 最大2,300 IOPS | 150MB/s |
P30 1TB | 最大5,000 IOPS | 200MB/s |
P40 2TB | 最大7,500 IOPS | 250MB/s |
P50 4TB | 最大7,500 IOPS | 250MB/s |
P60 8TB | 最大16,000 IOPS | 500MB/s |
P70 16TB | 最大18,000 IOPS | 750MB/s |
P80 32TB | 最大20,000 IOPS | 900MB/s |
<Standard SSD Managed Disks> | ||
プラン | IOPS | スループット |
E1 4GB | 最大500 IOPS | 60MB/s |
E2 8GB | 最大500 IOPS | 60MB/s |
E3 16GB | 最大500 IOPS | 60MB/s |
E4 32GB | 最大500 IOPS | 60MB/s |
E6 64GB | 最大500 IOPS | 60MB/s |
E10 128GB | 最大500 IOPS | 60MB/s |
E15 256GB | 最大500 IOPS | 60MB/s |
E20 512GB | 最大500 IOPS | 60MB/s |
E30 1TB | 最大500 IOPS | 60MB/s |
E40 2TB | 最大500 IOPS | 60MB/s |
E50 4TB | 最大500 IOPS | 60MB/s |
E60 8TB | 最大2000 IOPS | 400MB/s |
E70 16TB | 最大4000 IOPS | 600MB/s |
E80 32TB | 最大6000 IOPS | 750MB/s |
<Standard HDD Managed Disks> | ||
プラン | IOPS | スループット |
S4 32GB | 最大500 IOPS | 60MB/s |
S6 64GB | 最大500 IOPS | 60MB/s |
S10 128GB | 最大500 IOPS | 60MB/s |
S15 256GB | 最大500 IOPS | 60MB/s |
S20 512GB | 最大500 IOPS | 60MB/s |
S30 1TB | 最大500 IOPS | 60MB/s |
S40 2TB | 最大500 IOPS | 60MB/s |
S50 4TB | 最大500 IOPS | 60MB/s |
S60 8TB | 最大1300 IOPS | 300MB/s |
S70 16TB | 最大2000 IOPS | 500MB/s |
S80 32TB | 最大2000 IOPS | 500MB/s |
<Ultra Disk> | ||
ディスクサイズ | IOPS | スループット |
4GB | 最大1,200 IOPS | 300MB/s |
8GB | 最大2,400 IOPS | 600MB/s |
16GB | 最大4,800 IOPS | 1200MB/s |
32GB | 最大9,600 IOPS | 1200MB/s |
64GB | 最大19,200 IOPS | 2000MB/s |
128GB | 最大38,400 IOPS | 2000MB/s |
256GB | 最大76,800 IOPS | 2000MB/s |
512GB | 最大153,600 IOPS | 2000MB/s |
~64TB | 最大160,000 IOPS | 2000MB/s |