2つのWebサーバーと1つのデータベースサーバーを備えたCentOS 6でRORを使用してWebサイトを実行しています。 「ウェブサイトの負荷が高い」というメッセージが表示される場合があります...ここで確認する内容をお教えください。
Passenger 4.0.21でRuby 1.8.7およびApache 2.2.15を使用しています。Webサーバーはデフォルト設定で実行されています。
以下は、パッセンジャーステータスの出力です。
#乗客の状態
Version : 4.0.21
Date : Thu Dec 12 02:02:44 -0500 2013
Instance: 20126
----------- General information -----------
Max pool size : 6
Processes : 6
Requests in top-level queue : 0
----------- Application groups -----------
/home/web/html#default:
App root: /home/web/html
Requests in queue: 100
* PID: 20290 Sessions: 1 Processed: 53 Uptime: 24h 3m 5s
CPU: 0% Memory : 634M Last used: 23h 16m 8
* PID: 22657 Sessions: 1 Processed: 37 Uptime: 23h 15m 55s
CPU: 0% Memory : 609M Last used: 22h 44m
* PID: 29147 Sessions: 1 Processed: 146 Uptime: 20h 47m 48s
CPU: 0% Memory : 976M Last used: 18h 20m
* PID: 22216 Sessions: 1 Processed: 26 Uptime: 10h 3m 19s
CPU: 0% Memory : 538M Last used: 9h 44m 4
* PID: 23306 Sessions: 1 Processed: 75 Uptime: 9h 43m 22s
CPU: 0% Memory : 483M Last used: 8h 44m 4
* PID: 25626 Sessions: 1 Processed: 115 Uptime: 8h 46m 42s
CPU: 0% Memory : 540M Last used: 7h 59m 5
キュー内のリクエストが多すぎます。バージョン4.0.15以降、デフォルトで100の制限があります。 http://blog.phusion.nl/2013/09/06/phusion-passenger-4-0-16-released/ からの短い抜粋です:=
Phusion Passengerは、待ち行列に入れられた要求が多すぎる場合、待機させる代わりに、クライアントにエラーメッセージを表示するようになりました。これにより、サービス品質が大幅に向上します。デフォルトでは、「多すぎる」は100です。これをカスタマイズするには、
PassengerMaxRequestQueueSize
(Apache)またはpassenger_max_request_queue_size
(Nginx)を使用します。
これに関するユーザーガイドをご覧ください。 http://www.modrails.com/documentation/Users%20guide%20Apache.html#PassengerMaxRequestQueueSize
無効にするために、値を増やすか、0
inに設定してみてください。
[〜#〜] edit [〜#〜]
また、ログをチェックして、時間がかかりすぎるリクエストがあるかどうかを確認する必要があります。コードに時間がかかりすぎるプロセスがあるかもしれません。私はそれらを監視するためにNewRelicを使用することを好みます。