ログファイルのnginxログファイルに誤りがあります。 (編集:「順不同」とは時間順に意味します。たとえば、ログライン2017-02-21 09:13:26は、の前になります。の前に2017-02-21 09:13:45の行)おそらく一定量要求が完了した後に記録され、受信された時点で記録されるのではないため、予期しない順序のレコードが予想される。しかし、これは、小さい静的ファイルのための既知の短い(高速の)要求を含む、順序が乱れるようにログされている要求の数が増えています。おそらくバッファリングされたロギングのために、nginxログの順序が正しくありません。
これはバッファリングされたログを使用することによる既知の副作用ですか、これを改善できますか?ここでは、より完全な画像を取得するための
は、他のいくつかの構成パラメータです:nginx.conf
で
:
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
仮想ホストの設定ファイルで:
server {
#The backlog parameter matches sysctl net.core.somaxconn setting. Default value is 511 on Ubuntu.
listen 80 backlog=30000;
server_name www.example.com;
access_log /var/log/nginx/access.log main buffer=128k;
error_log /var/log/nginx/error.log;
root /var/www/html/website;
...
}
これはなぜ問題なのでしょうか... – cnst
「順不同」とはどういう意味ですか?ログのタイムスタンプは時々後方に移動するのですか、ログに記録されたURLは、あなたが期待していたものと異なる順序で発生しますか?バッファリングは注文に影響を与えるべきではありません。これは、サーバーがメモリに大量のメッセージを蓄積するため、単一の大きな書き込みでログファイルにプッシュできるようになり、個々のメッセージを書き出すよりも効率的です。 – ottomeister
@ottomeister私は、ログファイルが通常であることを期待するように、行が時間順にソートされていないことを意味しました。 – tinkerr