Microsoft IIS のパフォーマンスを監視する方法

Microsoft Internet Information Services (IIS) は、Web サイトやアプリケーションをホストするために、世界で広く利用されているツールです。広く利用されているのは、まずソフトウェアに関してある程度の信頼が置かれている Microsoft のシステムであること、次に IIS が Windows のクライアントとサーバーに組み込まれており、Windows GUI を使用していること、そしてあらゆる規模の Web やアプリケーションのニーズに対して総合的によく適していること、などのためです。

Microsoft のソフトウェアを中核的に使用している多くの企業は、Apache などのオープンソースツールよりも IIS を好み、使いやすくて、問題が発生したときの煩わしさが少ないと感じています。小規模企業の多くは、こういった点と、本質的に無料である点から、IIS を選択します。ただし、Web サイトを構築してアプリケーションをホストした後は、IIS のパフォーマンスはなかなか把握できません。高速なのか、遅いのか、ダウンタイムを引き起こす問題があるのか、といったことがよくわからないままになってしまいます。

IIS は、Web がまだ初期のころの1995年に開始されたサービスであり、IIS ベースの Web サイトはたくさんあります。最初は1つのコアサイトだけで良かったものが、今はサイトの構造も複雑になってきており、顧客を維持するのに十分なパフォーマンスが求められます。

今日の Web サイト全体の約7%が IIS ベースとも言われており、その数字は Apache をはるかに凌ぎます。ただし、Web プラットフォームの選択肢が今ほど多くなかった 2014 年には、IIS は全サイトのほぼ3分の1で使用されていました。IIS は中小企業に限定されるものではなく、次のような大手サイトも IIS ベースになっています。

  • Salesforce.com
  • Godaddy.com
  • Skype.com
  • Dell.com

IIS 監視とは?

IIS の機能を効果的に発揮させるための手段が、IIS 監視です。IIS が CPU、ディスク、ネットワークにかける負荷と、IIS が占有しているメモリの量を把握しておく必要があります。

初期の頃は、ほとんどのユーザーは、1つか2つの Web サイトを実行するのに IIS を使用していましたが、長年の間に、多くが ASP.NET で実行され、すべて IIS に依存するような様々な Web サイトやアプリケーションが蓄積されてきて、IIS のパフォーマンスが低下したり、ダウンしたりすると、これらのアプリケーションがすべて影響を受けます。

IIS ベースの Web サイトを持つ小規模な組織ではネットワーク監視が行われていないケースが多いですが、IIS の監視はネットワーク監視の手始めとしては適しているかもしれません。ただ、ネットワーク監視を行うなら、IIS のためだけの個別のソリューションに頼るのではなく、総合的に、その他のシステムやデバイス、重要なアプリケーションを含めてすべてを監視した方が合理的です。

ダウンタイムの影響

Akamai の調査によると、Web サイトへの訪問者の9%は、サイトがダウンしてしまったら、二度とそのサイトには戻ってきません。Web サイトで販売を行っている場合、ほぼ1割の機会が失われることになります。これは永久的な放棄と呼ばれ、なんとかして避けたいことです。

また、ダウンしてしまうと Google ボットがサイトを見つけることができないので、Google ランキングにも影響します。Google は、サイトがダウンしている間は、Google インデックスからそのサイトを削除します。もしサイトのダウンタイムが数日間に及んだ場合は、Google はサイトのランクを完全になくしてしまう可能性があり、それまで苦労して SEO 調整してきた実績を失うことになってしまうかもしれません。

IIS パフォーマンスの監視

IIS では、HTTP、HTTPS、FTP、FTPS、SMTP などの一般的なプロトコルがサポートされていますが、TCP、PIPE、HTTP/2 などの他のプロトコルと連携させることもできます。優れたネットワーク監視ソリューションは、これらすべてのネットワークプロトコルをすでに監視しているはずです。

IIS パフォーマンス監視ツールの詳細

IIS は Web アプリケーションであり、アプリケーションパフォーマンス監視ツールによって監視可能です。WhatsUp Goldアプリケーションパフォーマンス監視モジュールは、Microsoft IIS を含む様々なアプリケーションのパフォーマンス統計情報を収集し、アプリケーションの全体的なステータスを詳細にチェックします。そして、パフォーマンスが悪化し、潜在的な問題が検出されると、コストのかかる Web サービス停止といった形で顕在化する前に警告通知を行うことができます。

IIS の監視を効果的に行う鍵は、IIS アプリケーションの設定を正確に定義することです。これは、当該アプリケーションのパフォーマンスとステータスに影響を与えるすべてのコンポーネントに関して記述した、アプリケーションの設計図とも言えるアプリケーションプロファイルを使用して行われます。このアプリケーションプロファイルは、アプリケーションインスタンスを作成し、アプリケーションコンポーネントをホストするデバイスに関連付けられます。

大企業では、多くの場合、Web サイトのパフォーマンスを保証するサービスレベルアグリーメント (Service Level Agreements、SLA) を持っています。Web サイトを監視していなかったら、IIS が適切に機能しているかどうかがわからないので、パフォーマンスの保証をすることはできません。IIS 監視ソリューションを使えば、サービスレベルが低下する前に、アプリケーションのパフォーマンスのボトルネックと障害点を特定することが可能で、サービスレベルアグリーメントを保証できます。

アプリケーションは、単独で存在するものではなく、パフォーマンスに影響を与える他の要素に囲まれています。IIS は、データベースアプリケーションからデータを取得したり、主要なマーケティングツールや Web 最適化ソリューションを使用したり、SharePoint のコンテンツやファイルを利用したりなど、他のアプリケーションに依存しながら稼働している場合が多いものです。したがって、既述のように、IIS だけを単独で監視しても、あまり有用ではありません。補完的なアプリケーションや依存しているシステムなど、すべてを追跡して監視しないと、どこかに問題があった場合のトラブルシューティングを効率的に進めることができません。SLA を保証するにはすべてが可視化された統合ネットワーク監視ソリューションが必要です。

IIS パフォーマンス監視でわかること

最も役に立つデータは、しばしば最も単純な情報です。例えば、現在のステータスとして、稼働、停止、警告、保守、不明など、Microsoft IIS の現在の状態に関する情報が提供されます。シンプルなステータスページで、IIS 以外の何かをチェックすべきかどうか、すぐに何かをする必要があるかどうか、などといった点が明確にわかります。

IIS がどう機能しているかを確認し、改善できる点があるかをチェックするには、履歴データとトレンドデータも重要です。これらのデータから何らかの問題が見つかれば、対処して修正することができます。

IIS 監視のステータスページには、[履歴ステータス] エリアがあり、次のような情報を表示します。

時間ごとの可用性: 設定された期間に各状態 (稼働、停止、警告、保守、無効、または不明) にあったアプリケーション インスタンスまたはコンポーネントの割合を示します。

インスタンスの概要: IIS アプリケーションに関連付けられたインスタンスの可用性情報を提供します。アプリケーションタイプやプロファイルも含まれます。

ステータス変化ログ:  IIS インスタンスの状態の変化をすべて記録した時系列のログです。

アクションログ: 実行されたすべての IIS アクションの時系列ログです。

解決済みアイテムログ: 問題の解決につながったアクションポリシーをログに記録します。

Doug Barney was the founding editor of Redmond Magazine, Redmond Channel Partner, Redmond Developer News and Virtualization Review. Doug also served as Executive Editor of Network World, Editor in Chief of AmigaWorld, and Editor in Chief of Network Computing.