2017-06-22 29 views
0

私は運用クラウドサーバーで奇妙な問題が発生しています。Tomcat 7アクセスログとTomcatログの時間の差

私はメソッドの最初と最後の行にログを持つサーバーJavaメソッド(RESTサービスメソッド)を持っています。

問題は、アクセスログのメソッド呼び出しが、tomcatログに存在する時間差よりも10倍遅れていることです。

たとえば、アクセスログに13秒以上の時間が表示された場合、tomcat logsは1秒間に実行されたメソッドを表示します。同じ遅延がブラウザのネットワークタブで観察されます。

遅延を理解する方法はありますか?私はサーバーのディスク状態をチェックし、20〜30%の使用状況を示します。メモリ使用量は最大80%に達し、CPUも正常です。

アクセスログごとに断続的な遅延が発生する理由は何ですか?

答えて

0

アクセスログは、Tomcatサーバーによってログファイルにチャンクでプッシュされます。要求が提供されたときにログに記録されません。 TomcatはファイルI/Oを最小限にするためにこれを行います。

通常のログは、ログに記録するときにログファイルに書き込まれます。

+0

これは、アクセスログに遅延が表示される理由がメソッドの実行が完了した場合、質問に答えませんか? (ただし、アクセスログは後で書かれますが、ログの時間コンポーネントはtomcatログの時間遅延とは異なります) – amitmah

+0

@amitmah:これは質問メイトの答えです。これは、tomcatの動作です。これは、アクセスログをバッファし、バッファがいっぱいになった後にログファイルにプッシュします。https://stackoverflow.com/questions/31109090/tomcat-http-access-log-has-a-delay-in-writing-to-the-ファイル –

+0

指定するパターンは問わない。 Tomcatはデフォルトでこの動作をします。これらの設定は上記のURLの指示に従って変更することができます(上記のコメントに記載されています) –

関連する問題