仮想化されたデータベース:パフォーマンス監視の考慮事項


仮想化は様々な企業で導入されていますが、データベースはどうでしょうか?この質問に答えるため、SolarWindsは企業のデータベース環境に関するアンケートを行いました。

その結果、回答者の87%はデータベースが仮想マシンで実行されていると回答しました。

使用されたハイパーバイザーについては、VMwareが圧倒的に多く使用されており、回答者の89%を占めています。2番目にMicrosoft Hyper-Vが28%と続き、次にAzure VMが22%でした。

また、仮想マシンで実行しているデータベースの種類についても調べると、Microsoft SQL Serverが93%で最も仮想化されているだけでなく、仮想マシン(VM)で実行されているオープンソースデータベースの数も多い結果となりました。MySQLは3番目に多い仮想化されたデータベースプラットフォームであり、その人気の高まりを考えると当然のことです。PostgreSQL、MongoDB、MariaDBは、IBM DB2およびSAP ASE(Sybase)よりも上位にランクされ、オープンソースの成長を示しています。

最後に仮想化されたデータベースの割合について、データベースを100%仮想化した回答者の数は24%でした。 仮想化データベースインスタンスの割合の結果は次のとおりです。

  • データベースの100%が仮想化24%
  • 50%~99%仮想化52%
  • 50%以下の仮想化24%

この結果からデータベースインスタンスの大部分は仮想インフラストラクチャ上で実行されていると考えられます。

データベースを仮想化したことによる影響

アプリケーションのパフォーマンスの問題になると、大抵の場合、データベース管理者(DBA)へ問合せることになります。DBAはパフォーマンスの問題の原因をすばやく見つける必要がありますが、記述が不十分なSQLやT-SQLからリソース制約まで、データベースのパフォーマンスに影響を与える可能性のある変数は多くあるため、ここに仮想化を追加すると、パフォーマンス低下の根本原因をDBAが見つけるのが難しくなる場合があります。そこでこのブログでは、データベースインスタンスに大きな影響を与える可能性のあるメトリックや要素をDBAに提供するために、SolarWinds Database Performance Analyzerの例を使用して、仮想化メトリックとデータを統合するパフォーマンス管理ソリューションが、データベースパフォーマンスの問題の根本原因を特定するプロセスをどのように簡略化できるかを示します。

DBAが探すべきこと

データベースのパフォーマンスに関する問題が発生しましたが、インスタンス自体は問題なく見え、データベース内で何も変更されておらず、SQLも以前は問題なく実行されていました。このようなとき、仮想化のメトリックやデータなどを確認する必要があります。以下のメトリックは、VMware ESXI(データベースプラットフォームのホストに使用される最も一般的なハイパーバイザー)に関連するものです。

・CPU Ready ・VM CPU Usage ・Host CPU Usage ・Co-Stop ・VM Memory Swap Rate ・VM Active Memory Usage ・Host Memory Usage ・VM Memory Overhead ・VM Memory Balloon ・VM Disk Commands ・VM Disk Usage ・VM Read/Write Rates ・Host Disk Device Read/Write Rates ・Host Max Disk Latency ・Host Disk Latency

これらのメトリックはすべて、仮想化パフォーマンスモニタリングツールを使用して、VMware ESXiホストから「esxtop」コマンドを実行することで確認できます。ただし、このような外部モニターを使用する場合の問題は、モニターがデータベースメトリックに関連付けられておらず、ほとんどの場合、DBAが理解するには複雑すぎることです。

データベースと仮想化のパフォーマンスを関連付け

SolarWinds Database Performance Analyzer(DPA)は、待機ベースのパフォーマンス分析を機械学習異常検出と組み合わせて使用して、パフォーマンス問題の根本原因を特定するデータベースパフォーマンス管理ソリューションです。このセクションでは、vSphereからデータを取り込み、DBAが仮想化レイヤーのどれだけがデータベースのパフォーマンスに影響しているかを簡単に判断できるように設計された、DPAのVMオプション(DPAへのアドオン機能)について説明します。

DPAにWebブラウザから接続すると、次のようにVIRTUALIZATIONというタイトルのタブが表示されます。このタブを選択すると、VMware VMで実行されているデータベースインスタンスのみが表示されます。

VM CONFIGというタブが表示され、プライマリSQLのTotal Waitおよび異常検出のチャートが表示されます。VMおよびVMホストのデータは、リソースなどのすべてのメトリックビューに、特定のクエリにドリルダウンすることで自動的に表示されます。

VM CONFIGタブを選択すると、仮想CPU(vCPU)、仮想ディスク、メモリなど、特定のインスタンスが実行されている仮想マシンに関連するデータを利用できます。ESXiホストに関する詳細データを含む4つの追加タブがあります(このホストで実行されている他のVM、および仮想ストレージデータと物理ホストストレージデータ)。これにより、DBAは、データベースインスタンスが実行されている場所と、データベースで使用可能なリソースについて洞察を得ることができます。

DBAがデータベースインスタンスをサポートする全体的な仮想インフラストラクチャを確認できるのは良いことですが、特定のパフォーマンスの問題を調べる場合、統合された仮想モニタリングとメトリックが役立ちます。

たとえば、特定のクエリをドリルダウンして、時間の消費場所を見つけ、チューニングアドバイザーからの推奨事項を確認すると、スクロールダウンしたページに、VMメトリックが分析に含まれていることがわかります。これらのVMメトリックには、CPU Ready、Co-Stop、およびメモリが含まれ、実行、検査された行、ブロッキングなどのデータベースメトリックに合わせることができます。

表示されているこれらのVMメトリックに加えて、DPAはVMイベントに注釈を付けるため、DBAは、アプリケーションのパフォーマンスの低下が発生したときに、vMotionなどのタスクがVMに対して発生したかどうかを確認できます。

詳細なクエリ分析に加えて、DPA RESOURCESタブには、CPUおよびディスクメトリックからディスクI/Oおよびネットワークパケットに至るまでの詳細なホストおよびVMメトリックが含まれます。OSとVMの両方のデータが各リソースセクションに含まれています。

最後に重要なことですが、VM LAYERSタブには、データベースインスタンスのパフォーマンスデータ、VMとOS、物理ホスト、およびストレージに合わせたすべてのデータベースメトリックの視覚的なタイムスライスが表示されます。このビューにより、DBAは、VMに関連している可能性があるかどうかにかかわらず、パフォーマンスの問題を即座に認識することができます。VMイベントの注釈もこのビューに含まれています。

まとめ

DBAがサポートする環境の複雑さは、仮想化されたデータベースだけでなく、クラウドでホストされるデータベース-DBaaS(サービスとしてのデータベース)の成長とともに拡大し続けています。

複数のデータベースプラットフォームと仮想化インフラストラクチャをサポートするとともに、データベースインスタンスの数が増加しているため、データベースのパフォーマンス管理は、DBAにとっても課題となっています。データベースのパフォーマンスを一元的に把握し、複数のプラットフォーム、仮想化、およびクラウドプラットフォームにまたがるように設計されたデータベースパフォーマンス管理および監視ツールは、負担の大きいDBAにとってなくてはならないものです。

お問合せ

Database Performance Analyzerについてのご質問や評価をご希望の際は以下よりお問合せください。

https://www.climb.co.jp/soft/contact/contact.php

Webセミナー

Database Performance Analyzerについてのセミナー動画です。

関連したトピックス

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください