私は約12.000ユーザー(書き込みが多い)のコミュニティWebサイトを所有しており、1GbRAMを備えた単一のVPSで最大100人の同時ユーザーがいます。負荷が3を超えることはめったになく、応答は非常に良好です。
現在、DBクエリ結果を保存するために単純なファイルキャッシュが使用され、DBの負荷が軽減されていますが、Webサイトでは220を超える同時ユーザーの速度が低下する可能性があります(負荷テスト)。
ボトルネックが何であるかをどのように知ることができますか?
キャッシュは正常に機能しているのでDBは正常だと思いますが、ディスクIOが問題を引き起こす可能性があります。各ページロードには、DBまたはファイルキャッシュからの約10個のインクルードと10〜20個のクエリに加えて、多くのphp処理が含まれています。
ファイルキャッシュの代わりにmemcacheを使用してみましたが、驚いたことに、負荷テストではファイルキャッシュの方が好きだったようです。
代替PHPキャッシュを使用する予定ですが、そのキャッシュがどのように無効化されるのかまだよくわかりません。私はすべてのリクエストを処理する単一のindex.phpを持っています。キャッシュは個々のリクエストの結果を保存しますか?インクルード(またはキャッシュからのクエリ結果)の1つが変更された場合、キャッシュは自動的にクリアされますか?
ボトルネックを見つけるための他の提案(xdebugを試しました)?
ありがとう、ハムレット