私たちはソーシャルネットワーキングサイトを運営しており、
Stunnel->Haproxy->Nginx->Unicorn
24 コアのマシンで 20 個のユニコーン プロセスを実行しています。
200 のリクエストと 100 の同時ユーザーでテストを実行すると、
50% のリクエストに 3694 秒かかる
66% のリクエストに 4524 秒かかる
75% のリクエストに 5444 秒かかる
80% のリクエストに 5923 秒かかる
90% のリクエストに 7676 秒かかる
95% のリクエストに 10007 秒かかる
98% のリクエストに 13841 秒
かかる 99% のリクエストに 18110 秒かかる
100%リクエストには 21987 秒かかります
ログを見ると、各リクエストの完了には 0.5 秒かかりますが、最後のリクエストの完了には 21 秒かかります。
すべてのリクエストを最短時間 (4 ~ 5 秒) 以内に完了するにはどうすればよいですか? Railsコードで0.10秒以内に作業する必要がありますか、またはすべてのリクエストを5秒以内に完了するようにサーバー構成を変更する方法はありますか?