nginxの背後に薄い「上流に接続しながら上流のライブはない」
-
30-09-2019 - |
質問
50〜100のリクエストのうち1つでこのエラーが発生しています。 Nginxの後ろに10個の薄いインスタンスを実行していますが、10インスタンスすべてで使用を最大限に活用するのに十分な負荷が高いとは思いません。 。他の誰かがこれを見たことがありますか?私はそれをデバッグする良い方法を見つけようとしています。
これが私のセットアップです:ラックスペースクラウドサーバーのCentos 5.5
Nginxと10の薄いインスタンスが同じサーバーで実行されています。
解決
caches_action Plus redirect_to action内部がこれを引き起こしていました。キャッシュに書き込み(またはおそらく読み取り)、リダイレクトを行い、接続が時期尚早に閉じたようです。 caches_actionの条件を使用して、リダイレクトが発生するかどうかを検出することで、問題を回避することができました。それが発生することを検出した場合、X.CacheableでFalseを返しましたか?
my_controller.rb
caches_action :show, :if => Proc.new { |x| x.cacheable? }
action_controller.rb
def cacheable?
params[:id]>1000 ? true : false
end
基本的に、Params [:id] <1000である場合、別のコントローラーにredirect_をリダイレクトする必要がありました。 defはこれをチェックし、この特定の状況ではキャッシュしないようにcaches_actionに伝えます。
所属していません StackOverflow