4

私たちはソーシャルネットワーキングサイトを運営しており、

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秒以内に完了するようにサーバー構成を変更する方法はありますか?

4

1 に答える 1

2

各ユニコーン インスタンスは最大 250Mb の RAM を消費することに注意してください。

したがって、20 のユニコーンには少なくとも 5 Gb の RAM が必要です。RAM制限をオーバーロードすると、動作が非常に遅くなります:Rails環境をリロードしてプロセスを休止状態にしてウェイクアップします

ユニコーン サーバーの数を減らしてテストを行う

于 2013-02-26T05:27:44.473 に答える