4

access.log や error.log などのログ ファイルが非常に大きくなった場合、サイズが大きい問題は Apache の実行またはユーザー アクセスのパフォーマンスに影響しますか? 私の理解では、Apache はログ全体をメモリに読み込むのではなく、ファイルハンドルを使用して書き込むだけです。右?もしそうなら、ファイルシステムの問題を除いて、ログが十分に大きくなるたびにログを手動で削除する必要はありません. 私が間違っている場合は、助けて修正してください。または、実行時に注意する必要がある Apache Log I/O の問題はありますか?

どうも

4

1 に答える 1

1

まあ、私はあなたに完全に同意します。私の理解では、Apache はハンドラーを使用してログ ファイルにアクセスし、ファイルの最後に新しいメッセージを追加するだけです。これは、ファイルへの書き込みに関係する場合、巨大なログ ファイルが違いを生まない方法です。ただし、ファイルにアクセスしたり、一種のログ監視ツールでファイルを開いたりする場合は、サイズが大きいため、ファイルの読み取りプロセスが遅くなる可能性があります。

そのため、ログ ローテーションを使用して全体的な最終結果を改善することをお勧めします。

この提案は、apche Web サイトから直接得たものです。

ログローテーション

適度にビジーなサーバーでも、ログ ファイルに格納される情報量は非常に多くなります。通常、アクセス ログ ファイルは、10,000 リクエストごとに 1 MB 以上増加します。したがって、既存のログを移動または削除して、ログ ファイルを定期的にローテーションする必要があります。ファイルが開いている限り、Apache は古いログ ファイルに書き込みを続けるため、サーバーの実行中にはこれを行うことはできません。代わりに、ログ ファイルを移動または削除した後にサーバーを再起動して、新しいログ ファイルを開く必要があります。

Apache Software Foundation のサイトから

于 2012-10-25T20:08:07.900 に答える