これに答える前に、高いサーバー負荷を達成するのに十分人気のあるものを開発したことはありません。PHPといくつかの最適化技術を知っているものの、惑星に着陸したばかりのエイリアン(ため息)として私を扱います。
私はそれが正しく機能すれば、かなり多くのユーザーを獲得できるツールをPHPで開発しています。しかし、プログラムを開発する能力は十分にありますが、大量のトラフィックを処理できるものを作ることに関しては、ほとんど無知です。そこで、ここにいくつかの質問があります(この質問をリソーススレッドに変えてもかまいません)。
データベース
現時点では、PHP5でMySQLi機能を使用する予定です。しかし、ユーザーとコンテンツに関連してデータベースをどのようにセットアップすればよいですか?実際に複数のデータベースが必要ですか?現時点ではすべてが1つのデータベースに乱れています。ユーザーデータを1つのデータベースに、実際のコンテンツを別のデータベースに、最後にコアサイトコンテンツ(テンプレートマスターなど)を別のデータベースに分散することを検討してきました。これの背後にある私の推論は、1つのデータベース= 3つのロードソースとして、異なるデータベースにクエリを送信すると、それらの負荷を軽減することです。また、すべてが同じサーバー上にある場合でも、これは有効ですか?
キャッシング
ページの作成と変数の交換に使用するテンプレートシステムがあります。マスターテンプレートはデータベースに保存され、テンプレートが呼び出されるたびに、そのキャッシュコピー(htmlドキュメント)が呼び出されます。現在、これらのテンプレートには2つのタイプの変数があります。静的変数と動的変数です。静的変数は通常、ページ名、サイトの名前など、頻繁に変更されないものです。動的変数は、ページが読み込まれるたびに変化するものです。
これに関する私の質問:
別の記事についてコメントがあるとします。これがより良い解決策です:ページが読み込まれるたびにシンプルなコメントテンプレートを保存し、(DB呼び出しから)コメントをレンダリングするか、コメントページのキャッシュされたコピーをHTMLページとして保存します-コメントが追加/編集/削除されるたびにページが再キャッシュされます。
最後に
PHPで高負荷のサイトを実行するためのヒント/ポインタはありますか?私はそれが使える実用的な言語だと確信しています-FacebookとYahoo! 優先順位を高くしますが、気を付けるべき経験はありますか?