Azure Database for MySQL のストレージ IOPS - フレキシブル サーバー
適用対象: Azure Database for MySQL - フレキシブル サーバー
ストレージ システムが実行可能な読み取りおよび書き込み操作の数は、1 秒あたりの入出力操作数 (IOPS) で計測されます。 IOPS 値が高いほど、ストレージのパフォーマンスが向上し、データベースはより多くの読み取りと書き込み操作を同時に処理できます。 その結果、より速くデータを取得でき、全体的な効率が向上します。
IOPS の設定が低すぎると、データベース サーバーで要求の処理に遅延が発生し、パフォーマンスが低下し、スループットが低下する可能性があります。 IOPS の設定が高すぎると、不必要なリソースの割り当てにつながり、パフォーマンスが大幅に向上するわけでもないのに、コストが増加する可能性があります。
IOPS 管理設定を選択する
Azure Database for MySQL - フレキシブル サーバーには現在、事前プロビジョニングされた IOPS と自動スケーリング IOPS という IOPS 管理用の 2 つの設定が用意されています。
事前プロビジョニングされた IOPS
事前プロビジョニングされた IOPS を使用して、Azure Database for MySQL - フレキシブル サーバー インスタンスに特定の数の IOPS を割り当てることができます。 ストレージ ボリュームの特定の IOPS 制限を定義すると、1 秒あたりに一定数の要求を処理することが保証されます。 この設定により、ワークロードの一貫した予測可能なパフォーマンスが保証されます。
事前プロビジョニングされた IOPS は、サーバーに関連付けられているストレージ ボリュームのプロビジョニング済み IOPS を柔軟に増加させることができます。 既定のプロビジョニング レベルを超える IOPS をいつでも追加することで、ワークロードの要件に合わせて、パフォーマンスをカスタマイズできます。
IOPS の自動スケーリング
自動スケーリング IOPS では、オンデマンドで IOPS を柔軟にスケーリングできます。 自動スケーリング IOPS を有効にすると、ワークロードの需要に基づいて、データベース サーバーの IOPS 制限が自動的に調整されます。 この動的スケーリングを利用することで、手動による介入や構成なしで、ワークロードのパフォーマンスを最適化できます。 各サービス レベルとコンピューティング サイズのサポートされている最大 IOPS の詳細については、サービス レベルのドキュメントを参照してください。
自動スケール IOPS のその他の利点は次のとおりです。
ワークロードの急増への対応: 自動スケーリング IOPS を使用すると、アプリケーションのパフォーマンスを損なうことなく、お使いのデータベースでワークロードの急増や変動をシームレスに処理できます。 この機能により、使用量がピークになる期間であっても、応答にばらつきがなくなります。
コスト削減: 使用量に関係なく固定の IOPS 制限を指定し、それに対して支払う事前プロビジョニングされた IOPS とは異なり、自動スケーリング IOPS では、使用した I/O 操作の数だけ支払うことができます。 使用率の低いリソースに対して不要なプロビジョニングをせずに済み、無駄な出費を抑えられます。 これにより、コスト削減と最適なパフォーマンスが両立します。自動スケーリングは、データベース ワークロードを効率的に管理するためのスマートな選択肢になります。
ストレージのパフォーマンスの監視
Azure Database for MySQL - フレキシブル サーバーで使用できるメトリックを使用して、ストレージ IOPS 使用率を監視できます。
選択した期間の I/O 使用率の概要を取得する
- Azure portal で、Azure Database for MySQL フレキシブル サーバーに移動します。
- [概要] ペインで、[監視] タブを選択します。
- [最後のデータを表示する] 領域で、期間を選択します。
強化されたメトリックのブックを表示する
- Azure portal で、Azure Database for MySQL フレキシブル サーバーに移動します。
- [監視]>[ブック] に移動します。
- [拡張メトリック] ブックを選択します。
- ブックの [概要] タブで、[ストレージ IO の割合] メトリックを確認します。
ストレージ I/O の割合と数のメトリックを追加する
- Azure portal で、Azure Database for MySQL フレキシブル サーバーに移動します。
- [監視]>[メトリック] に移動します。
- [メトリックの追加] を選択します。
- 使用可能なメトリックに関するドロップダウン リストで、[ストレージ IO の割合] と [ストレージ IO 数] を選択します。
最適な IOPS 設定を選択する
IOPS の使用状況を効果的に監視する方法について理解し、サーバーに最適な設定を調べることができるようになりました。 Azure Database for MySQL - フレキシブル サーバー インスタンスの IOPS 設定を選択するとき、いくつかの要因を考慮する必要があります。 これらの要因を理解することで、ワークロードに最適なパフォーマンスとコスト効率を確保するために、十分な情報に基づいた意思決定を行うことができます。
パフォーマンスの最適化
自動スケーリング IOPS を使用することで、ストレージのスロットリングや IOPS を追加するための手動操作の問題が発生することなく、予測可能なワークロードに対して一貫した要件を満たすことができます。
ワークロードのスループットが一貫しているか、一貫した IOPS が必要な場合は、事前プロビジョニングされた IOPS が推奨される場合があります。 予測可能なパフォーマンス レベルが提供され、IOPS の固定割り当ては指定された制限内のワークロードと相関します。
通常の要件よりも高いスループットが必要な場合は、事前プロビジョニングされた IOPS を使用して追加の IOPS を割り当てられます。 このオプションでは、手動操作とスループットの増加時間を理解する必要があります。
調整の影響
調整がワークロードに与える影響を考慮してください。 調整による潜在的なパフォーマンス低下が懸念される場合、自動スケーリング IOPS はワークロードの急増を動的に処理し、調整のリスクを最小限に抑え、パフォーマンスを最適なレベルに維持できます。
最終的には、自動スケーリングと事前プロビジョニングされた IOPS のどちらを選択するかは、特定のワークロード要件と期待されるパフォーマンスに応じて異なります。 ワークロード パターンを分析し、コストの影響を評価し、調整の潜在的な影響を考慮して、優先順位に合った情報に基づいた選択を行います。
ワークロードに関する考慮事項 | 事前プロビジョニングされた IOPS | IOPS の自動スケーリング |
---|---|---|
一貫性のある予測可能な I/O パターンを持つワークロード | プロビジョニングされた IOPS のみを使用するため、推奨されます | 互換性があり、IOPS の手動プロビジョニングは必要ありません |
さまざまな使用パターンを持つワークロード | 使用状況の多い期間は、効率的なパフォーマンスが得られない可能性があるため、推奨されません。 | さまざまなワークロードを処理するように自動的に調整されるため、推奨されます |
動的な増加またはパフォーマンス ニーズの変化を伴うワークロード | 変更する IOPS 要件に従って一定の調整が必要であるため、推奨されません | 特定のスループット要件に対して追加の設定は必要ないため、推奨されます |
コストに関する考慮事項
ピークが予測できず、ワークロードが変動する場合は、自動スケーリング IOPS を選択した方がコスト効率が高くなる場合があります。 これにより、ピーク時に使用される高い IOPS に対してのみ支払いが発生し、柔軟性とコスト削減を実現します。 事前プロビジョニングされた IOPS は、一貫性のある最大 IOPS を提供する一方で、ワークロードによってはコストが高くなる場合があります。 サーバーに必要なコストとパフォーマンスのトレードオフを考慮してください。
テストと評価
最適な IOPS 設定がわからない場合は、自動スケーリング IOPS と事前プロビジョニングされた IOPS の両方を使用してパフォーマンス テストを実行することを検討してください。 結果を評価し、ワークロードの要件と期待されるパフォーマンスを満たす設定を決定します。
ワークロードの例: e コマースの Web サイト
年間を通じてトラフィックの変動が発生する e コマースの Web サイトを所有している場合。 通常の期間中は、ワークロードは中程度です。 ホリデーシーズンや特別なプロモーション期間は、トラフィックが指数関数的に急増します。
自動スケーリング IOPS を使用すると、データベースはピーク期間のワークロードの増加に対応するように IOPS を動的に調整できます。 ブラック フライデーのセール期間など、トラフィックが急増した場合、自動スケーリング機能を使用することで、データベースは需要に合わせて IOPS をシームレスにスケールアップできます。 この機能は、スムーズで中断のないパフォーマンスを保証し、速度低下やサービスの中断を防ぐのに役立ちます。 ピーク期間が過ぎてトラフィックが落ち着くと、IOPS はスケール ダウンできます。 急増中に使用されたリソースに対してのみ支払うため、コストを節約できます。
事前プロビジョニングされた IOPS を選択する場合は、ワークロードの最大容量を見積もり、それに応じて固定数の IOPS を割り当てる必要があります。 ただし、ピーク時は、ワークロードが事前定義された IOPS 制限を超える可能性があります。 ストレージ I/O が調整され、パフォーマンスに影響が生じ、ユーザーに遅延またはタイムアウトが発生する可能性があります。
ワークロードの例: レポートとデータ分析のためのプラットフォーム
ユーザーが複雑なクエリと大規模なデータ処理タスクを送信するデータ分析に Azure Database for MySQL - フレキシブル サーバーを使用しているとします。 ワークロード パターンは比較的一貫しており、1 日を通して安定したクエリの流れがあります。
事前プロビジョニングされた IOPS では、予想されるワークロードに基づいて適切な数の IOPS を選択できます。 選択した IOPS が毎日のクエリ数を適切に処理する限り、調整やパフォーマンス低下のリスクはありません。 このアプローチでは、コストの予測可能性が得られ、動的スケーリングの必要なくリソースを効率的に最適化できます。
この場合、自動スケーリング機能には大きな利点がない可能性があります。 ワークロードは一貫性があるため、需要を快適に満たす固定数の IOPS でデータベースをプロビジョニングできます。 追加の IOPS を必要とするほどの突然のアクティビティのバーストがないため、自動スケーリングは必要ない可能性があります。
事前プロビジョニングされた IOPS を使用すると、スケーリングの必要なく予測可能なパフォーマンスが得られます。 コストは、割り当てられたストレージに直接関連付けられます。
よく寄せられる質問
事前プロビジョニングされた IOPS から自動スケーリング IOPS に移行するにはどうすればいいですか?
- Azure portal で、関連のある Azure Database for MySQL フレキシブル サーバーを見つけます。
- [設定] ペインに移動し、[コンピューティングとストレージ] を選択します。
- [IOPS] セクションで、[IOPS の自動スケーリング] を選択し、設定を保存して変更を適用します。
変更後、自動スケーリング IOPS はどれくらいのタイミングで有効になりますか?
Azure Database for MySQL フレキシブル サーバーに対して自動スケーリング IOPS を有効にし、設定を保存すると、リソースへのデプロイが正常に完了した直後に変更が有効になります。 自動スケーリング IOPS 機能が遅延なくデータベースに適用されます。
ポイントインタイム リストア操作は IOPS の使用量にどのように影響しますか?
Azure Database for MySQL - フレキシブル サーバーでのポイントインタイム リストア (PITR) 操作の間に、新しいサーバーが作成されて、ソース サーバーのストレージから新しいサーバーのストレージにデータがコピーされます。 このプロセスにより、ソース サーバーでの IOPS 使用量が増えます。
IOPS 使用量の増加は通常の出来事であり、ソース サーバーまたは PITR 操作に関する問題を示すものではありません。 PITR 操作の完了後、ソース サーバーでの IOPS 使用量は通常のレベルに戻ります。
PITR の詳細については、「Azure Database for MySQL - フレキシブル サーバーでのバックアップと復元」を参照してください。
サーバーで自動スケーリング IOPS 機能を使用している場合、IOPS がスケールアップおよびスケールダウンされたタイミングを知るにはどうすればいいですか? サーバーの IOPS 使用状況を監視できますか?
この記事の「ストレージのパフォーマンスを監視する」セクションを参照してください。 これは、特定の時間枠内にサーバーがスケールアップまたはスケールダウンされたかどうかを識別するのに役立ちます。
自動スケーリング IOPS と事前プロビジョニングされた IOPS を後で切り替えることができますか?
はい。 事前プロビジョニングされた IOPS に戻すには、[設定] ペインの [コンピューティングとストレージ] セクションで選択します。
Azure Database for MySQL - フレキシブル サーバーでどれほど IOPS を使用したかを知るにはどうすればいいですか?
[概要] セクションの [監視] に移動するか、[監視] ペインの [ストレージ IO 数] メトリックに移動します。 [ストレージ IO 数] メトリックでは、選択した時間枠にサーバーで使用された IOPS の合計を確認できます。