リソースモニターとは何か?リソースモニターから学ぶ信頼性の高いWebアプリケーションの構築
リソースモニターとは
リソースモニターとは、パソコンのCPUやメモリ・プロセス情報を確認することができるモニター機能です。WindowsOS(Windows Vista/Windows Server 2008 R2以降)のパソコンには、リソースモニター機能が標準装備されています。
パソコン内の情報を確認する機能には、タスクマネージャーがあります。タスクマネージャーは、簡単に起動することができて便利な機能です。しかし、タスクマネージャーは簡易的な情報しか表示されません。
その一方で、リソースモニターを利用すれば、詳細情報を確認することができます。自分のパソコンの状態を確認する際に役立つ機能なので、使いこなすことが大切です。
リソースモニターの必要性
オープン中のファイルを確認できる
ファイルがオープン状態だと、そのファイルの削除や変更は行えません。オープン状態のファイルを終了させる必要がありますが、どのプロセスを終了させるべきか分からなくなってしまうことも少なくありません。
しかし、リソースモニターを利用すれば、ファイルのオープン状態や関連するプロセス情報を取得することができます。
パフォーマンス測定が行える
パフォーマンスに問題があるときに、リソースモニターで測定して問題となっている原因を突き止めることができます。
パフォーマンス測定をするときは、問題が発生したときだけではなく、正常状態のときも測定しておきましょう。
正常なときと問題が発生したときのパフォーマンスを比較することによって、問題の原因を特定することができます。
ベースラインを測定できる
パフォーマンス測定に触れましたが、正常なときのパフォーマンス測定をすることも大切です。この基本のパフォーマンス状態を「ベースライン」と呼びますが、トラブルシューティングを行うときに必要なデータです。
(1)プログラミング実装直後(2)通常利用時(3)テスト環境時の3つのデータを取得しておきましょう。
3つのタイミングのベースラインを取得しておけば、パフォーマンスの問題が発生したときにトラブルの原因が見つけやすくなります。
リソースモニターの利用方法
ここからはリソースモニターの利用方法をご紹介します。
起動方法
リソースモニターの起動方法はいくつかあり、最近ではWindows10の検索ボックスで「リソースモニター」と調べるだけで、アプリケーションを起動することができます。
この他で言えば、デスクトップのスタートボタンをクリックして「すべてのアプリ」から「Windows管理ツール」の「リソースモニター」を選択して起動させる方法や、直接コマンドを打って、「perfmon.exe」を動かすという方法もあります。
起動方法についてはWindowsのバージョンにもよるので、詳しくはWindowsのWebサイトなどをご覧ください。
モニターの見方
モニターのトップ画面には、(1)CPU(2)ディスク(3)ネットワーク(4)メモリの情報が表示されており、各項目をクリックすると詳細情報が確認できます。
(1)CPU
CPUのタブでは、起動しているサービス情報を確認することができます。
名前・プロセスID・機能説明・状態・グループ・スレッドなどを把握できます。また、チェックボックスをオンにするとプロセス関連サービスを表示させることも可能です。
CPUは簡単に言えば、PCの脳のようなものです。CPU使用率が100%に近くなっていると、頭の処理が追い付いていないことを意味しています。
(2)ディスク
ディスクタブでは、各プロセスのHDD・SSDの読み取り・書き込みデータを確認できます。
(3)ネットワーク
ネットワークタブでは、通信プロセス・送信や受信データ量またIPアドレスが確認できます。
(4)メモリ
メモリのタブでは、プロセスのハードフォールト・コミット・ワーキングセットなどのメモリ使用状況を確認することができます。また、どれだけのメモリが使用可能なのかを把握することも可能です。
メモリはしばしば作業する机の広さと表現されることがあります。
メモリがあまりにも使用されているという状況は起動しているアプリケーションや実行している処理が多いことを意味しています。
Windows製品以外でもリソース監視には注意
Webアプリケーションの信頼性を高めるためにリソース監視は必須
以上、WindowsPCのリソースモニターの紹介をしてきました。
「リソースモニター」という名称はWindows製品のものですが、リソースモニターのように、メモリやCPUなどの状況を確認するリソース監視機能はよくあります。
とくにWebアプリケーションを格納しているサーバーにとってリソース監視は重要な機能です。
例えば、Webサービスを提供しているサーバーのメモリ使用率やCPU使用率が異常に高まって、動かなくなってしまったら、売上に影響するだけでなく、利用しているユーザーにも迷惑をかけてしまいます。
システムがどの程度正常に稼働できるかを「信頼性」と呼びますが、信頼性の高いWebアプリケーションを構築するには、リソース監視を行い、いち早く異常を探知する必要があります。
しきい値を超えたら通知がなされるように設定する
リソース監視をサービスとしている会社も少なくないですが、最近ではサーバーにもともとリソース監視がついていることがよくあります。
例えばAmazonWebService(以下、AWSと略記)でサーバーを提供するEC2サービスでは、サーバーのリソース監視を行い、設定したしきい値を超えたら通知を行う機能が使用できます。
このように、リソース監視を行うだけでなく、メモリやCPUがある一定の水準を超えたら通知が入るようにしていると、サーバーの異常に気付くことができ、Webアプリケーションの信頼性を高めることにつながります。