私は API を開発しており、(もちろん) 同時ユーザー数に関してパフォーマンスを最適化したいと考えています。
Blitz を使用していくつかのテストを実行しました (私のアプリは Appfog、PHP、512MB、1 インスタンス上にあります)。これらのテストによれば、API は応答時間が長くなりすぎる (>1000 ミリ秒) 前に 11 人の同時ユーザーを処理できます。
私にとっては、驚くほど低いです。結果を改善するために RAM とインスタンスを追加することはできますが、私のコードはよりスマートになる可能性があると思います。
常に同じハードウェア構成でいくつかのテストを行いました。結果は、応答時間が 1000 ミリ秒を超える前の同時ユーザー数です。
- 実際の API (db-queries を使用) を使用 --> 11 ユーザー
- テキストを出力するだけのスクリプトを使用 (最小限の処理) --> 40 ユーザー
- sleep(2) 関数を含むスクリプトを使用して長い応答時間をシミュレート --> 52 ユーザー ((2000 + 1000 ms) を超える前)
- メモリを集中的に使用するスクリプトの使用 (for ループを使用したデータの構築): 95 ユーザー
結果に相関関係は見られません (各テストは何度も実行され、同様の結果が得られています)。スクリプトの処理が増えるほど、同時ユーザーが増える?
同時ユーザー数に影響を与えるものは何ですか (ハードウェア構成は別として)?