正常に動作するものを介して、8 つの puma ワーカーを再起動しbundle exec pumactl -F config/puma.rb phased-restart
ています。今、私はますます多くのpostgresエラーを取得しています:
PG::TRDeadlockDetected: ERROR: deadlock detected
約 50 のアイドル状態の postgres プロセスが実行されていることがわかりました。
postgres: myapp myapp_production 127.0.0.1(59950) idle
postgres: myapp myapp_production 127.0.0.1(60141) idle
...
走っていると消えてしまいますbundle exec pumactl -F config/puma.rb stop
。でアプリを起動した後、bundle exec pumactl -F config/puma.rb start
ちょうど 16 個のアイドル プロセスが発生します。(私の意見では、8 つ多すぎます。)
これらのプロセスをより適切に管理するにはどうすればよいですか? ご協力いただきありがとうございます!
アップデート
私の puma.rb:
environment 'production'
daemonize true
pidfile 'tmp/pids/puma.pid'
state_path 'tmp/pids/puma.state'
threads 0, 1
bind 'tcp://0.0.0.0:3010'
workers 8
quiet