none
IISのWebアプリケーションが応答しない RRS feed

  • 質問

  • お世話になります。

    ファイルの情報や、ファイルのバイナリデータを格納したものを
    POSTデータとしてWebアプリケーションに向けて送信しています。
    それにより、ファイルの情報のデータベースへの登録、
    バイナリからファイルを作成し、指定のフォルダに移動させることを
    目的としているのですが、
    何度も動かすにつれて反応が次第に遅くなっていき、
    最終的にはIISのWebアプリケーション全てがハング?し、
    レスポンスが何一つとして帰ってこないという現象が発生してしまいました。

    Webアプリケーションからレスポンスが返ってきたら、
    次のファイルを送信する、ということで巨大ファイルの分割送信を考えています。
    動かした直後はとてもスムーズに動くのですが、そこで、上述した現象が発生しています。

    色々と調べてみたのですが、
    WebアプリケーションへのPOSTの送信を行うにあたって、
    aspnet_wp.exeがLocalHostからLocalHostへ向けてTCPのセッションを接続しようとしていました。
    セッションは最大9つ程度で止まるのですが、
    全てのPOSTを送信し終わった後などで、改めてTCPのセッションを見返してみると、
    aspnet_wp.exeのTCPのセッション数が100本を超えていることが多々ありました。

    タスクマネージャでaspnet_wp.exeの使用しているメモリを確認したところ、
    最初は数10KBだったものが200MBまで上がっており、
    その状況でWebアプリケーションを送信してみたところ、
    いつまでもレスポンスが返ってこないので、
    このあたりが原因なのではないかと思っています。
    また、その状態ではaspnet_wp.exeの使用しているメモリの量がも期的に上昇していっています。

    送信するファイルはおよそ10MB程度です。
    ファイルの送信を行っている最中はaspnet_wp.exeの使用しているメモリが、
    ファイルの容量程度上昇し、Webアプリケーションの処理終了後に、
    増えた分は減っているのですが……

    どなたか、原因や解決策などご存知の方がいらっしゃいましたら、
    どうかアドバイスお願いいたします。

    環境
    ・.Net Framework 2.0
    ・Windows Xp Professional
    ・IIS5.1
    2013年3月9日 13:01

回答

すべての返信