none
IISのワーカープロセスでジョブが滞留してしまう RRS feed

  • 質問

  • はじめての投稿になりますが、よろしくお願いいたします。

    下記のシステム構成にて、システム運用中です。
    ────────────────────
     <サーバ>
       ・WindowsServer2012 standard
      ・IIS 8.0
      ・SQLServer2012 SP1

     <ユーザー(クライアント)>
       ・iPad150台
    ────────────────────

    現在、週に2~3回操作がユーザー側で、
    操作がフリーズしてしまう障害が、システム導入時から継続して発生しています。

    フリーズすると、ユーザー150台が全ての端末で操作不能となります。
    障害時のサーバー側での詳細な挙動を以下にまとめます。

      <詳細>
       ・障害時、ワーカープロセスのジョブが溜まって吐けなくなっている。
        (10分以上待っても、ワーカープロセスのジョブが返ってこないことを目視で確認済み。)

       ・障害時、CPU、メモリは、ほぼ使われていない。(タスクマネージャーで確認)

       ・障害時に、「SQL Server Management Studio」で
       システムの全テーブルをSelectしたが、検索結果が返ってきた。

       ・障害時に、アプリ側で仕込んだ操作ログでは、
        ユーザー操作で発生する全てのSQLは正常に返ってきている。

       ・障害時のパフォーマンスモニターを見ると、
        【Current Connections】が急上昇している。

       ・障害時だけではなく、平常時もパフォーマンスモニターの
       【Buffer cache hit ratioc】の数値が100近くで貼りついている。

       ・パフォーマンスモニターで【Page Faults/sec】を確認すると、
        定常的にページフォールト数が多く、障害発生時はさらに増大していた。

       ・障害時、ワーカープロセスで500系のエラーは発生していない。

       ・障害時、ユーザーの直前の操作に偏りが無い。(ユーザー自体も特定のユーザーではない)

       ・障害時、負荷の掛からない軽微な操作だが、ワーカープロセスのジョブが溜まってしまう。

       ・障害時は、高負荷の処理では無いが、アクセスが集中する可能性のある時間帯である。

       ・復旧はアプリケーションプールを再起動すれば、現象が収まる。

       ・1日1回サーバーは再起動している。

       ・負荷テストとして、高負荷を掛けたり、アクセスを集中させたりしても、
        暫くするとワーカープロセスから処理が返ってくる。
        本番時の障害は待っても戻ってこないと思われるため、同じ現象はおそらく再現できていない。

       ・イベントログやIISのログにはエラーは記載されていない。


      <問題切り分けのため実施した内容>
       ・IIS のアプリケーションプールを5つ(30台×5つ)にわけてみた。
        (「Web ガーデン」ではなく、同じ内容アプリケーションプールを5つ用意して、URLを分けて割り振った。)

        ⇒1つのプール分がフリーズし、残り4つはフリーズしなかった。
         残り4つはDBの登録も可能で、問題なく利用できる。

      <今後調査・対応しようとしていること>
       ・フリーツール「Debug Diagnostic Tool」を使用してダンプファイル調査
         ⇒「1つのプール分がフリーズし、残り4つはフリーズしなかった。」ことで、
          アプリケーションプールがハングを起こしている可能性を考慮して、
          ダンプファイルを調査しようと考えております。

       ・SQLのパフォーマンスチューニング
        ⇒SQLでのメモリ使用を抑えるため対応しようと考えています。
        
       ・SQL Server2012をSP1からSP3にバージョンアップ
        ⇒SP1での不具合を考慮して対応しようと考えています。

     上記の問題が発生しております。

     原因究明に近づけるため、以下の4点を質問させて下さい。

      ①.上記の情報から、もしも障害の原因が判断できる場合は教えて下さい。
      ②.他に有効な調査方法があれば教えて下さい。
      ③.過去に同じような事象が発生したことがある場合は教えて下さい。
      ④.環境面で気をつけなければならない設定、パッチなどの情報があれば教えて下さい。

     以上、宜しくお願い致します。

    2016年7月5日 9:36