私のウェブサーバーには、250を超えるドメインすべてに個別のログファイルがあります。
これはサーバーがダウンしていることを示していますか?すべてのアクセスログを含むログファイルを1つだけ持つ方が速いでしょうか?
更新:Apacheのログを完全に無効
にしてみます
私のウェブサーバーには、250を超えるドメインすべてに個別のログファイルがあります。
これはサーバーがダウンしていることを示していますか?すべてのアクセスログを含むログファイルを1つだけ持つ方が速いでしょうか?
更新:Apacheのログを完全に無効
にしてみます
回答:
私の経験では、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ログファイルのパフォーマンスに関する質問の範囲外です。
私はあなたがチェック示唆/server-status
してsar -d -p
。L - Logging
状態が表示され、ディスクの待ち時間がawait
長い場合(数十ミリ秒を超えるsarの列を参照)、何百もの開かれたファイルではなく、ディスク上の1箇所のみへの書き込みのパフォーマンスが向上する可能性が高くなります。
sysstat
し/etc/default/sysstat
て再起動する/etc/init.d/sysstat restart
必要がありましたが、今は何も収集されていないようです。それが何かを収集するまでどのくらい待つ必要がありますか?また、sysstatのパフォーマンスも低下しませんか?
watch -d -c 'sar -d -p|while read i; do echo $i; done|cut -d" " -f1,2,8|grep -v 0,00'
わかっています。待機時間はloggingの影響を受けないようです。これは、ロギングを無効にしてもパフォーマンスに影響しないという意味ですか?
5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 600
ます。ただし、アドホックにデータを収集することもできます。これは毎秒サンプルを行い、5秒間の平均をカウントsar -d -p 1 5
します。これをピーク時に実行し、平均を確認します。1つのログファイルに書き込むかログをオフにすると、ログが静的ファイルと同じデバイス上にあり、複数のロボットがサーバーにアクセスして多くの異なる静的ページをダウンロードする場合(ファイルがキャッシュに収まらない場合)に役立ちます。