読者です 読者をやめる 読者になる 読者になる

NetTcpActivatorサービスが応答しなくなった場合の対応

はじめに

三和システム株式会社でエンジニアやっております。
社会人数年目まではLinuxメインでしたが、Visual Studio6に関わってからはMSどっぷりです。
MS関連の記事メインで書いていこうと思います。

IIS7.0

IIS7.0でWindows プロセス アクティブ化サービス (WAS)を使用したWCFアプリケーションが突然応答しなくなることがありました。 NetTcpActivatorサービスがサービス一覧で状態 = 起動にも関わらず無反応になります。

環境

  • Windows Server2008 R2 Standard SP1
  • IIS 7.5.7600.16385

原因

以下の条件を満たす場合、 アプリケーション プールのリサイクルが発生した後に新規のワーカープロセスが起動されません。

  1. アプリケーション プールの詳細設定にて、[ワーカー プロセスの最大数] が 2 以上に設定されている。
  2. アプリケーション プールの詳細設定にて、[重複リサイクルを無効にする] が False に設定されている。

対応方法

以下の3通りの方法があります。

  1. [ワーカープロセスの最大数]を1に設定。
  2. [重複リサイクルを無効にする]をTrueに設定。
  3. リサイクル設定にてアプリケーションプールのリサイクルを無効にする。

-- 3でサーバを定期的に再起動としました。

参考

アプリケーション プールのプロセス モデル設定
http://technet.microsoft.com/ja-jp/library/ee431629.aspx

アプリケーション プールのリサイクル設定
http://technet.microsoft.com/ja-jp/library/ee431635.aspx