2010-12-10 7 views
0

サイトにはサーバー上に存在しないイメージとCSSファイルがあります。そのため、訪問者がApacheにログオンするたびに3 404エラーがスローされます。アイテムはページ上に隠されているため、ページの表示には影響しません。私たちのサイトは、テスト環境や運用環境では正常に動作します。私たちは最近、1日あたり30,000〜40,000人の訪問者の2日間のトラフィックスパイクを受信し、ブラウザに何かを返す前に22〜25秒待って、Apacheが停止するのをやめました。壊れたCSS /イメージリンク404のエラーは、負荷がかかるとサーバのパフォーマンスに影響しますか?

ページに表示された404エラーがサーバーのパフォーマンスを変更しますか?

通常のリクエストより404リソースの方がリソースの消費量が多いですか?

Apacheが404エラーを処理する方法についての情報があれば幸いです。

おかげで、 Sjの

+0

は404文書を投げるかどうかによって異なります。 – ajreal

+0

htmlページが正常に読み込まれ、2つのイメージと、サーバー上に存在しないページから呼び出されたcssファイルがあります。エラーはエンドユーザーには見えません。 –

答えて

0

としてコメンターのajreal務めた文書は資源配分を増加しますが、要求に応じた任意のサーバにはいくつかのリソースを取得すると発表しました。

+0

404のドキュメントはスローされません。ユーザはエラーを一切見ません。 404エラーはApacheのログにのみ表示されます。 –

0

ユーザーの操作に対する応答としてApacheが行うすべての操作は、それほど小さくなくても他のユーザーのパフォーマンスが低下します。ほとんど見えません。

ソフトウェア(メモリ)とハードウェア(物理的な制限と容量)は、ユーザーのやりとりに適切に答えるか、ログオンするためのいくつかのアクションを実行します。

この場合、ユーザー(30,000-40,000人)がサイトにアクセスしたとき、Apacheは設定によって設定されたログ設定を満たすためにこれらのエラーをすべてログに記録する必要がありました。ログファイルは、ガードディスク上のテキストファイルなので、ハードディスクはビジー状態で実際のサイトコンテンツに対して読み書きを実行できませんでした。

Apacheが404エラーをドキュメントとして生成する場合、サーバーの負荷はさらに高くなります。 いずれにしても、サーバーのパフォーマンスを向上させる最善の方法は、404エラーを完全に取り除くことです。

ApacheコンフィグレーションファイルのMaxRequestsPerChildパラメータを約1000に増やして、1つの中央Apacheプロセスから複数のサブプロセスへのストレスを軽減することもできます。これにより、複数のApacheプロセスが新しいものにまたがることが可能になり、同時にすべてのCPUコアに対するストレスが増えます。私もこのような何かにApacheの設定のMPMを変えることをお勧めしますので、多くの来場者で

:ウェブサイトのフロントエンドengeneeringにヤフー指示に従って

<IfModule prefork.c> 
StartServers  2 
MinSpareServers 2 
MaxSpareServers 5 
ServerLimit  100 
MaxClients   100 
MaxRequestsPerChild 4000 
</IfModule> 
0

*いいえ404エラーん

HTTPリクエストは高価です。したがって、HTTPリクエストを作成して無駄な応答(つまり、404が見つかりません)を取得することはまったく必要ではなく、利便性を低下させてユーザーエクスペリエンスを低下させます。 サイトによっては、ユーザーエクスペリエンスには最適ですが、データベースなどのサーバーリソースを浪費する "Xを使いましたか?"という便利な404があります。特に悪いのは、外部のJavaScriptへのリンクが間違っており、結果が404である場合です。まず、このダウンロードはパラレルダウンロードをブロックします。次に、ブラウザは、404応答本体をJavaScriptコードであるかのように解析し、使用可能なものを見つけようとします。*

エラー404は最悪の場合、マシンを停止させる可能性があります。

関連する問題