SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2022 レポート(PR)

複雑化したデータベース環境にプロの知見を! 開発者でもできる、一歩先の性能監視とは【デブサミ2022】

【17-C-5】開発者も必見!クラウド環境もまとめてワンランク上のDB性能監視を実現しよう

  • このエントリーをはてなブックマークに追加

 リレーショナルデータベースは今や、オンプレミスだけではなくクラウドでも当たり前のよう使われている。用途に応じ環境を適宜選択した結果、オンプレミス、複数のクラウドに複数のデータベースが混在する状況も増えている。そのような環境では、性能監視やチューニングなどのデータベース管理に手間がかかり、うまく運用できないと大きなトラブルに発展しかねない。SolarWindsのDatabase Performance Analyzer(DPA)は、データベースに詳しくなくても簡単に性能の調査分析ができるツールだ。DPAを用いてリレーショナルデータベースの性能調査分析の底上げをし、本番はもちろん運用、開発フェーズでも最適なデータベース性能を引き出す方法、さらにクラウドで注目のオブザーバビリティについて、ソーラーウインズ・ジャパン プリンシパルエンジニア 大森明央氏が解説した。

  • このエントリーをはてなブックマークに追加

ソーラーウインズ・ジャパン株式会社 プリンシパルエンジニア 大森明央氏
ソーラーウインズ・ジャパン株式会社 プリンシパルエンジニア 大森明央氏

データベース稼働環境は複雑化し性能調査も難易度が増している

 国内の知名度はまだそれほど高くないが、SolarWindsはグローバルのネットワーク監視領域でNo.1シェアを持つベンダーだ。ネットワーク監視以外にもサーバー、アプリケーション性能、仮想環境、ストレージなどあらゆる領域の稼働状況の可視化が可能だ。SolarWindsではスケーラブルな共通プラットフォームを提供し、多角的な分析ができる。多様な監視の中で、データベース性能分析調査を担うのがDPAだ。

SolarWindsの製品ポートフォリオ
SolarWindsの製品ポートフォリオ

 SolarWindsでは、製品提供だけでなく積極的に技術情報を公開している。またユーザーコミュニティの「THWACK」の活動が盛んなことでも有名だ。そのTHWACKでのアンケートによれば、データベースの稼働環境の80%が仮想化されており、管理するデータベースインスタンスの数が25以上あると答えた管理者も44.8%ある。中には「1人で200以上のインスタンスを管理しているとの回答もありました」と大森氏。これらの数字からは、データベース管理者の管理負荷がかなり高まっている様子がうかがえる。

 クラウドの利用、特にクラウドベンダーが提供するマネージドサービスの利用が増えている。仮想化やマネージドサービスといった複数プラットフォームがあり、データベースの稼働環境の複雑性は増している。この複雑なデータベース環境のせいで、データベースの性能分析もさらに複雑化している。

 管理者はデータベース処理が遅ければ、ボトルネックを調べ、根本原因を見つけ、適切な対策を施す。たとえばクラウド上で利用しているデータベースサーバーが、メモリが足りないために処理が遅くなっていると分かれば、メモリ追加の判断をする。クラウドではインスタンスサイズがあらかじめ決まっているので、追加したいメモリ容量が2ギガバイト程度でも、1つ上のスペックにすることでメモリやCPUは倍になり、時間当たりコストも倍となることもある。

 追加したメモリのおかげで、一旦は性能が回復する。しかし2か月後に再びメモリが足りなくなるかもしれない。これは最初の段階で根本原因を追及できていなかったため、メモリ追加だけでは問題が解決していないのだ。結果、その後もメモリ追加を続ければ、運用コストがさらに上昇しかねない。

 またデータベース管理者に対し、よくある問い合わせが「なんだか遅い気がする」と言うものだ。あるいは、今は大丈夫だけれど「急に遅くなった」もよくある。これらに対処しようとしても、問題が再現するかは分からない。多くの場合、時間に余裕がなく再び問題が発生するまで長い時間待つこともできない。

 通常、データベース管理者は問題を解決のために、CPUやメモリなどが足りないことを想定し、基本的なリソースの調査から始めるだろう。VMwareの仮想化環境で動いていれば、仮想サーバー側の処理がぶつかり遅いこともあるため、そのような外部要因も調査する。さらに固有リソースも調査する。たとえばバッファIOやトランザクションに対するディスクIOの状況を調べ、他にも遅いクエリを見つけて実行プランやトレース情報の確認もするだろう。

 Microsoft SQL Serverを利用していれば、性能調査のためにSQL Server Management Studioを使い、さまざまな画面を表示し原因の分析を進めるはずだ。さらにSQL Server Diagnostic Queriesなどで、エキスパートがより深い調査をするかもしれない。オンプレミスのSQL Serverだけなら、これらだけで調査は完結するだろう。

 クラウドのマネージドサービスを利用していれば、それぞれのクラウドベンダーが用意するWebコンソールに接続して調査する。つまり性能調査のために「環境ごとに別々のツールを使いこなさなければなりません」と大森氏。複数のデータベースを扱う管理者は、このような複雑化する管理ツールの使いこなしにも苦労する。

既存の方法では、稼働環境ごとに異なるデータベース管理ツールを使いこなさなければならない
既存の方法では、稼働環境ごとに異なるデータベース管理ツールを使いこなさなければならない

次のページ
稼働環境を選ばず専門家のノウハウに基づくアドバイスも得られる

関連リンク

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Developers Summit 2022 レポート連載記事一覧

もっと読む

この記事の著者

谷川 耕一(タニカワ コウイチ)

 かつてAI、エキスパートシステムが流行っていたころに、開発エンジニアとしてIT業界に。その後UNIXの専門雑誌の編集者を経て、外資系ソフトウェアベンダーの製品マーケティング、広告、広報などの業務を経験。現在はフリーランスのITジャーナリストとして、クラウド、データベース、ビッグデータ活用などをキー...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/15652 2022/03/15 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング