2

負荷テストを行っているときに、多数の同時リクエストがサーバーにヒットしたときに、乗客が最初に以下のエラーをスローしていることがわかりました。また、クライアント側では 502 エラー コードが返されます。ただし、一部のリクエストで 1000 ~ 2000 のリクエストが正常に機能すると言われました。

2013/07/23 11:22:46 [error] 14131#0: *50226 connect() to /tmp/passenger.1.0.14107/generation-
0/request failed (11: Resource temporarily unavailable) while connecting to upstream, client: 10.251.18.167, server: 10.*, request: "GET /home HTTP/1.0", upstream: "passenger:/tmp/passenger.1.0.14107/generation-0/request:", host: hostname

サーバーの詳細。

乗客 4.0.10 ルビー 1.9.3/2.0

サーバー EC2 m1.xlarge 64 ビット 4 コア 15 GB

Ubuntu 12:24 LTS

Railsフレームワークの動的WebページをサーバーするWebサーバー

誰かが問題が何であるかを提案できますか?

4

1 に答える 1

1

そのコンテキストでの「一時的に利用できません」というエラーは、ソケットのバックログがいっぱいであることを意味します。これは、アプリが要求を十分に速く処理できない場合に発生する可能性があります。何が起こるかというと、キューがいっぱいになるまでどんどん大きくなり、その後、これらのエラーが発生し始めます。その間、ユーザーの応答時間はどんどん長くなり、エラーが発生します。これはおそらくアプリケーション レベルの問題なので、そこから始めてみることをお勧めします。アプリが遅い理由、どの要求で遅いかを突き止め、それを修正してください。または、より多くのサーバーにスケーリングする必要があるかもしれません。

于 2013-07-31T18:23:36.583 に答える