質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
IIS 7

IIS(インターネットインフォメーションサービス) 7は、 Microsoftによって開発された、Windowsの標準ウェブサーバーです。Window Server 2008 と Windows Vista向けにリリースされました。

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

ASP.NET MVC Framework

ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。

Q&A

解決済

1回答

5573閲覧

IIS7.5でのアクセスログ出力タイミング

yy_tn

総合スコア299

IIS 7

IIS(インターネットインフォメーションサービス) 7は、 Microsoftによって開発された、Windowsの標準ウェブサーバーです。Window Server 2008 と Windows Vista向けにリリースされました。

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

ASP.NET MVC Framework

ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。

0グッド

0クリップ

投稿2019/06/04 01:57

windows server 2008R2のIIS7.5上でC#の.NETアプリを動かしておりまして
アプリ内でファイルをダウンロードするリンクがあり
そのダウンロードリンクへのアクセスをIISのログで確認していたのですが
ダウンロードするファイルのサイズによって、アクセスログの出力タイミングが違うように思えます。

リンクをクリックした場合に、
ファイルサイズが小さい場合(大体30MB未満?)はファイル保存ダイアログ(開くか保存するか)が出た時点で
アクセスがあったことがIISのログに出力されているのですが

ファイルサイズが大きい場合(大体30MB以上?)はファイル保存ダイアログが出た時点では
ログに出力されておらず、そこから保存まで完了した時点でログに出力されているようです。

ファイルサイズが小さい場合ですと、保存せずキャンセルした場合もログが出ていることになりますが
逆にサイズが大きいと、キャンセルするとIISのログ上、アクセスが無かったことになっているようです。

何かファイルサイズの上限などの設定があるんでしょうか??
それとも仕様でしょうか?検索しても探せなかったので、どこかに上記に関しての情報がありましたらお教えください。

ちなみに、windows server 2012のIIS8.5ではファイルサイズが大きい場合も、
保存ダイアログが出た時点で、IISのログに書き込まれていました。

よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

IIS のログの中に time-taken という項目がありますが、IIS6 からは最後のパケットに対するクライアントからの ACK を受け取るまでが time-taken に含まれるようになったとのことです。

IIS ログの time-taken
http://surferonwww.info/BlogEngine/post/2016/07/01/time-taken-of-iis-log.aspx

なので、

ダウンロードするファイルのサイズによって、アクセスログの出力タイミングが違うように思えます。

となるのではないかと思います。

投稿2019/06/04 02:19

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yy_tn

2019/06/04 02:52 編集

回答ありがとうございます。 貼って頂いたサイトの方見てみて、大体は理解できたのですが、 ファイルダウンロードダイアログが出た時点で(ダイアログにファイルサイズも表示されているので) ブラウザがレスポンスを受け取り終わってるという認識なのですが、 サイトの方にある⑨の「要求に対する最後の応答を返すまで」というのは ブラウザでからファイルをローカルに保存した時点(転送完了?)ということになるんでしょうか? そうだとすると、ACKの受け取りタイミングが下記のようになりますか? ファイルサイズが小さい場合は「ファイルダイアログが出た時点」 ファイルサイズが大きい場合は「ローカルにファイル転送された時点」
yy_tn

2019/06/04 03:03

連続でコメントすみません。。 上記URLや、その先の元のURLも見させていただいたのですが、 結局ダウンロードの完了タイミングがファイルサイズが大きくて遅かったとしても そのうちログに出力されるということになるということだと思うのすが 今回の場合、まったく出ておりませんので、また別の現象なのかもしれません。。
退会済みユーザー

退会済みユーザー

2019/06/04 21:27 編集

> ファイルダウンロードダイアログが出た時点で(ダイアログにファイルサイズも表示されているので) ブラウザがレスポンスを受け取り終わってるという認識なのですが、 上で言う「ファイルダウンロードダイアログ」というのは IE の通知バーのことでしょうが、その認識は間違ってます。受け取り終わってはいません。 また、 > そうだとすると、ACKの受け取りタイミングが下記のようになりますか? > ファイルサイズが小さい場合は「ファイルダイアログが出た時点」 > ファイルサイズが大きい場合は「ローカルにファイル転送された時点」 という認識も間違っています。 パケットに分けて送信するというのは TCP/IP の基本ですが、そこは当然ご存知ですよね。(知らなかったなら勉強してください。話はそれからだと思います) 大きなファイルは同然パケットの数は多い、小さいファイルは少ないということは分かりますよね。 ブラウザから要求を受けてサーバーが要求を返す場合、どっちが早く一番最後のパケットを送って ACK をもらうのが早くなるかは分かりますよね。当然小さいファイルの方です。 IIS は最後のパケットを送信し ACK が返されて初めて time-taken の値をログに書き込むことができるということなので、ログファイルに書き込まれるタイミングが違うというのは当たり前でしょう。 以上で、質問者さんの最初の質問「IIS7.5でのアクセスログ出力タイミング」の回答になっていると思うのですが? 通知バーがどういう条件で表示されるかという話と、このスレッドの質問の「IIS7.5でのアクセスログ出力タイミング」は異質なものです。ゴッチャにすると発散するので止めましょう。
退会済みユーザー

退会済みユーザー

2019/06/04 21:28 編集

> 今回の場合、まったく出ておりませんので、また別の現象なのかもしれません。。 そこは、質問者さんがやっていること、環境がどうなっているかは知る由もない第三者が答えるのは無理だと思います。
yy_tn

2019/06/04 23:05 編集

返信ありがとうございます。 理解しているつもりでしたが正しく理解できていなかったのだと思いますので勉強しなおして来ます… 質問がごっちゃになってしまったのも、どこが問題か切り分けたかった為このような形になってしまいました。 正しく理解出来てない上で質問をしてしまい、気分を害されてしまうような発言になったこと申し訳ありませんでした。 お手数おかけ致しました、ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問