apachelogのログファイルが多すぎると、サーバーの速度が低下しますか?


1

私のウェブサーバーには、250を超えるドメインすべてに個別のログファイルがあります。

これはサーバーがダウンしていることを示していますか?すべてのアクセスログを含むログファイルを1つだけ持つ方が速いでしょうか?

更新:Apacheのログを完全に無効
にしてみます


誰かがすでにこれを行っている場合、これは質問をする場所だと思いました。そうでない場合、確かに、私は自分でいくつかのベンチマークを開始しますが、なぜ車輪を再発明するのですか?なぜ下票なのか?これがサーバーフォールトに適している場合は、ダウン票ではなくこの質問をそこに移動することはできませんか?
rubo77

回答:


3

私の経験では、Apacheロギング(サブ)システムは、非常に忙しいサーバーでもCPUパスのペナルティが十分に大きくないため、その経路で最適化を探す価値があるので、おそらく他の可能性を考慮すると、あなたの最適化の努力はおそらくやりがいがありますI / Oやネットワークラグなどのボトルネック。

  • まず、ことを確認してHostNameLookupsいるOffあなたにhttpd.conf(またはhttpd-vhosts.conf)ファイル。この設定は、の場合On、DNS名を解決するときに十分な遅延を追加するため、ビジーなサーバーでオフに切り替えることはできます。統計および追跡の目的でDNS名を解決する必要がある場合は、DNSキャッシング機能を備え、ほとんどこれを非同期的に実行できるハードウェアベースのDNSリゾルバー(ルーター、スイッチ、ファイアウォール)を使用することをお勧めします。次に、トラフィックデータを分析するときにこれらのログにリンクします。

  • 次に、サーバーのI / Oパフォーマンスを分析し、頻繁な書き込み(IIRC Apacheはこれらのログファイルから実際には何も読み取らず、ファイルストリームとして追加するだけです)がI / O合計のかなりの割合を占めないことを確認しますOサーバーが処理できる操作。上スピンドルHDDあなたは、単一のドライブにそれらすべてを書くのではなく、複数の物理ドライブにこれらのログを広げる検討することができるように)、これは、コストがかかることができます。明らかに、HDDを使用している場合は、はるかに高いIOPSが可能なSSDに切り替えることを強くお勧めします。サーバー障害に関するこの質問の提案も確認してください。

  • また、本当に必要な要求のみをログに記録していることを確認することもできます。多くの場合、一部のファイルタイプへのリクエストは不要であるか、システムのリソースをそれほど消費しない他のシンプルなログに移動できます(つまり、このデータが他のリクエストに記録される必要がある場合、DNSリゾルバは不要です)。これらは両方ともApache設定ファイルで設定でき、リクエストごとに1〜2マイクロ秒節約できます(蓄積可能)。

他の提案としては、負荷分散、最も頻繁にアクセスされるファイルのいくつかを別の場所に移動して独自のCDNを作成するなどがありますが、これらはすでにApacheログファイルのパフォーマンスに関する質問の範囲外です。


1
わかりましたので、私が今聞いたことから、それは私のサーバーに大きな違いをもたらさないでしょう、負荷は重要ではありません。しかし、この質問からより多くの最適化のヒントを得たので、これを解決済みとマークします。ありがとう
rubo77

HostnameLookupsのは、すでに「オフ」だったが、他の回答で私のコメントを参照してください、それはすべてのログを無効にはdiskUsageの多くを保存
rubo77

HostnameLookupsはすでに「オフ」になっており、他の回答で私のコメントを参照してください、すべてのログを無効にするディスク使用量を保存していないようです
rubo77

1

私はあなたがチェック示唆/server-statusしてsar -d -pL - Logging状態が表示され、ディスクの待ち時間がawait長い場合(数十ミリ秒を超えるsarの列を参照)、何百もの開かれたファイルではなく、ディスク上の1箇所のみへの書き込みのパフォーマンスが向上する可能性が高くなります。


男が言ったように、「システムアクティビティ情報」を見るために有効にsysstat/etc/default/sysstatて再起動する/etc/init.d/sysstat restart必要がありましたが、今は何も収集されていないようです。それが何かを収集するまでどのくらい待つ必要がありますか?また、sysstatのパフォーマンスも低下しませんか?
rubo77

なるほど、cronで10分ごとにデータを収集します。sdaで常に高い待機値があります(過去1時間で最小28最大149)
-rubo77

できることはwatch -d -c 'sar -d -p|while read i; do echo $i; done|cut -d" " -f1,2,8|grep -v 0,00'わかっています。待機時間はloggingの影響を受けないようです。これは、ロギングを無効にしてもパフォーマンスに影響しないという意味ですか?
rubo77

チューニング時にsarデータを毎秒収集し5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 600 ます。ただし、アドホックにデータを収集することもできます。これは毎秒サンプルを行い、5秒間の平均をカウントsar -d -p 1 5 します。これをピーク時に実行し、平均を確認します。1つのログファイルに書き込むかログをオフにすると、ログが静的ファイルと同じデバイス上にあり、複数のロボットがサーバーにアクセスして多くの異なる静的ページをダウンロードする場合(ファイルがキャッシュに収まらない場合)に役立ちます。
brablc
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.