web-dev-qa-db-ja.com

ウェブサイトは高負荷+ RORです

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
25
Rahul Kumar

キュー内のリクエストが多すぎます。バージョン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

無効にするために、値を増やすか、0inに設定してみてください。

[〜#〜] edit [〜#〜]

また、ログをチェックして、時間がかかりすぎるリクエストがあるかどうかを確認する必要があります。コードに時間がかかりすぎるプロセスがあるかもしれません。私はそれらを監視するためにNewRelicを使用することを好みます。

25
cantonic