負荷分散/マルチサーバー設定でホストされる PHP アプリケーションを作成するとします。スムーズな運用のために知っておくべきことは何ですか? 現時点で唯一問題になると思われるのは、PHP セッションです (つまり、カスタム データベース ハンドラを使用する必要があります)。他に何か?
2 に答える
ファイルのアップロード/ダウンロードも問題になる可能性があります-おそらく、すべてのサーバーでそれらを表示する必要があります
これを答えに変えましょう:
私の経験では、圧倒的多数の PHP アプリケーションは Web サーバー上の PHP の処理能力だけでなく、データベースやファイルなどのバッキング ストアによっても制約を受けています。
そのため、慎重な分析を行わずに PHP アプリケーションの負荷分散を行うと、状況が悪化する可能性があります。チェーン内の最も弱いリンクにますます多くの負荷がかかります。
したがって、最初の、そして私見で最も重要な「負荷分散されたサーバーでホストされる Web アプリを作成するときに知っておくべきこと」は、負荷パターンと、負荷分散の可能性です。アプリのパフォーマンスが悪い場合、より多くのサーバーで負荷を分散すると、DB を待機しているサーバーがさらに増えていることがわかり、問題が発生します。
以下は思いがけないチェックリストです。ブレインストーミング (またはブレーンファート) としてのみお考えください。
- 最初に: あなたは本当に CPU バウンドですか?
- 最もヒットしたページ (ログを参照)
- これらの上位 N (適切な N) については、処理パターンを確認してください: CPU サイクルはどこに行くのか?
- セッション、アップロード、ファイル ストレージ (使用するものは何でも追加) を共有すると、どのような副作用があり、負荷分散によって相殺されるでしょうか?
コメントを歓迎します。表面に傷をつけたわけではありません。
編集
このコンテキストで一度私を悩ませたものを考えてみました: リソースのロックです。マルチサーバーに移行する場合は、より高度な並行性に備えてください