ホームページ  >  記事  >  バックエンド開発  >  PHP Web サイトの大規模なトラフィックと高い同時実行性に対するソリューション

PHP Web サイトの大規模なトラフィックと高い同時実行性に対するソリューション

WBOY
WBOYオリジナル
2016-07-25 08:56:19959ブラウズ
この記事では、PHP で開発された Web サイトにおける大量のトラフィックと高い同時実行の問題に対処する方法を紹介します。必要な場合は参考にしてください。

PHP Web サイトは大規模なトラフィックと高い同時実行性にどのように対処しますか?

まず、サーバーのハードウェアが現在のトラフィックをサポートするのに十分であるかどうかを確認します。 通常の P4 サーバーは、通常、1 日あたり最大 100,000 の独立 IP をサポートできます。アクセス数がこれを超える場合は、より高性能の専用サーバーを構成してください。 そうしないと、いくら最適化してもパフォーマンスの問題を完全に解決できません。

2 番目に、データベース アクセスを最適化します。 フロントデスクを完全に静的にするのが最善で、データベースにアクセスする必要がまったくありません。ただし、頻繁に更新される Web サイトの場合、静的化では特定の機能を満たせない場合があります。 キャッシュ テクノロジは動的データをキャッシュ ファイルに保存し、** ページはデータベースにアクセスすることなくこれらのファイルを直接呼び出します。WordPress と Z-Blog はどちらもこのキャッシュ テクノロジを広範囲に使用します。 データベースへのアクセスを回避できない場合は、Select * from などのステートメントの使用を避け、短期間に大量の SQL クエリが発生することを回避します。時間の。

第三に、外部ホットリンクは禁止されています。 外部 Web サイトからの画像やファイルのホットリンクは、多くの場合負荷がかかるため、外部 Web サイトからの画像やファイルのホットリンクは厳密に制限する必要があり、Apache 自体でホットリンクを設定できます。ホット リンクと同様に、IIS には、同じ機能を実現できるサードパーティの ISAPI もいくつかあります。

リファラーコードの偽造によるホットリンクを防ぐために、画像に透かしを追加できます。

4 番目に、大きなファイルのダウンロードを制御します。 大きなファイルをダウンロードすると大量のトラフィックが消費され、非 SCSI ハード ドライブの場合、大量のファイルをダウンロードすると CPU が消費され、Web サイトの応答性が低下します。したがって、2M を超える大きなファイルのダウンロードは提供しないようにしてください。提供する必要がある場合は、大きなファイルを別のサーバーに配置することをお勧めします。

5 番目に、別のホストを使用してメイントラフィックを迂回します ファイルを異なるホストに配置し、ユーザーがダウンロードできる異なるイメージを提供します。たとえば、RSS ファイルが大量のトラフィックを消費していると感じる場合は、FeedBurner や FeedSky などのサービスを使用して、RSS 出力を他のホストに配置します。この方法では、他のユーザーのアクセスによるトラフィック プレッシャーのほとんどが集中します。 FeedBurner ホストと RSS が多くのリソースを占有することはありません。

6番目は、トラフィック分析および統計ソフトウェアを使用します。 Web サイトにトラフィック分析および統計ソフトウェアをインストールすると、どこで多くのトラフィックが消費されているか、どのページを最適化する必要があるかを瞬時に知ることができるため、トラフィック問題を解決するには正確な統計分析が必要です。私が推奨するトラフィック分析および統計ソフトウェアは Google Analytics です。使ってみてとても良い効果を感じました。Google Analyticsの使い方の常識やスキルについては後ほど詳しく紹介します。 サブテーブル 2.読み取りと書き込みの分離 3. フロントエンドの最適化。 Nginx が Apache に代わる (フロントエンドの負荷分散) 主なことは、分散アーキテクチャが整備されているかどうかを確認することです。分散アーキテクチャが構築された後は、ヒープ マシンのみを拡張できます。 最適化の経験: まず、Explain ステートメントを使用して select ステートメントを分析し、インデックスとテーブル構造を最適化する方法を学びます。次に、memcache などのキャッシュを合理的に使用して、MySQL の負荷を軽減します。 最後に、Facebook の hiphop-php を使用して PHP をコンパイルし、プログラムの効率を向上させてみます。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。