AlwaysOnでどの程度のパフォーマンスの改善ができるか
AlwaysOn+EMCストレージによるOLTPとOLAPの高速化
SQL Server 2012で新たに提供された機能であるAlwaysOn Availability Groupでは、セカンダリサイトのDBを読み取り可能にすることで、OLAPの処理をセカンダリサイトに分離し、プライマリサイトのOLTP処理の負荷を軽減することができます。この機能は、ミッションクリティカルなシステムに求められるサービスレベルの一貫性を維持する上で重要なソリューションとなります。
では、実際にAlwaysOnでどの程度のパフォーマンスの改善ができるかについて、EMCストレージを使用した際のパフォーマンス検証結果としてご紹介します。
*テスト環境詳細については、下記の資料をご参照ください。(公開は終了しました)
ホワイトペーパー
「SQL Server2012環境のパフォーマンスと可用性を最大化するEMCストレージ技術」
(1) Availability Groupを有効にすることによるオーバーヘッド
ここでは、AlwaysOn Availability Groupを有効にする前後のIOPS、ディスク遅延、クライアントのトランザクション/秒を示しています。これを見ると、Availability Groupを使用することによるディスク遅延の影響はゼロ、IOPS、トランザクション/秒についても、ほぼ意識しなくていいレベルであることがわかります。
(2) プライマリDBの遅延レベルとトランザクション/秒(TPS)
ここでは、プライマリDBにOLAP読み取りワークロードを追加したときの遅延、トランザクション/秒、IOPSと、その後OLAP読み取りワークロードをセカンダリDBに切り替えたときの各数値を示しています。プライマリDBに追加のOLAPワークロードをかけた後では、その負荷により、プライマリDBの書き込み遅延が44%増加し、トランザクション/秒が30%低下していますが、このワークロードをAvailability Groupの機能によりセカンダリに切り替えた後では、書き込み遅延は元のベースラインと同じ値にまで回復し、トランザクション/秒は36%向上しています。
(3) CPU負荷とトータルトランザクション/秒(TPS)
ここでは、プライマリへOLAP読み取りワークロードをかけた後、セカンダリへワークロードを切り替えたときのプライマリサーバとセカンダリサーバのCPU負荷を示しています。プライマリにワークロードがかかっている状態では、プライマリのCPU利用率は75%、セカンダリは16.4%となっており、プライマリとセカンダリの利用率の差が大きく、非効率な状態にあります。ここで、セカンダリにワークロードを切り替えると、プライマリのCPU利用率は21%低下し、その分セカンダリのCPUを18.6%使用していることがわかります。プライマリとセカンダリのCPUの間で負荷が分散されたことで、トータルトランザクション/秒が24%改善し、システム全体としての効率性が向上しています。
(4) OLTPとOLAPのトータルトランザクション/秒(TPS)
ここでは、OLAP読み取りワークロードをプライマリにかけたときと、それをセカンダリに切り替えたときのOLTP、OLAPのトータルトランザクション/秒を表しています。AlwaysOn Availability GroupでOLAPの負荷を分散することで、OLTPのトランザクションが29%改善し、同時にOLAPのトランザクションも54%改善、トータルで38%多くのトランザクションを処理できるようになったことがわかります。
以上のことから、AlwaysOn Availability Groupは、データベースのOLTPに影響を与えずにOLAPのトランザクションを分散処理することができることがわかる。これにより、ミッションクリティカルなデータベースのサービスレベルの一貫性の維持しながら、セカンダリサイトでデータの活用のためのデータベースの利用が可能となる。
また、AlwaysOnは、同期、非同期のレプリカを最大4つまで持つことでこれまでよりも可用性と信頼性の高いデータベース環境を構築することができます。
資料ダウンロード
EMCジャパン株式会社が提供する「SQL Server2012環境のパフォーマンスと可用性を最大化するEMCストレージ技術」の資料ダウンロードが可能です。
ダウンロードはこちらからどうぞ。