【发布时间】:2015-04-09 13:34:25
【问题描述】:
如何提高我的 rails 应用程序性能并最大限度地使用分配的 heroku 资源?例如,一半的内存仍未使用。
我应该增加工作进程并减少超时限制吗? 在网站流量小幅增加后,H12 和 H18 错误有所增加。
我应该什么时候购买 Heroku worker?它会减少 H18 和 H12 错误吗?
请分享您的见解以微调事物以提高性能并减少错误。
我最近开始学习 Rails。对不起,如果问题非常基本。
config/unicorn.rb
# config/unicorn.rb
worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3)
timeout 65
preload_app true
before_fork do |server, worker|
Signal.trap 'TERM' do
puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
Process.kill 'QUIT', Process.pid
end
defined?(ActiveRecord::Base) and
ActiveRecord::Base.connection.disconnect!
end
after_fork do |server, worker|
Signal.trap 'TERM' do
puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to send QUIT'
end
defined?(ActiveRecord::Base) and
ActiveRecord::Base.establish_connection
end
宝石文件
source 'https://rubygems.org'
ruby '2.1.4'
.
.
.
group :production do
gem 'pg', '0.17.1'
gem 'rails_12factor', '0.0.2'
gem 'unicorn'
end
一些附加信息。
【问题讨论】:
-
您是否将 WEB_CONCURRENCY 设置为环境变量?
-
@DavidAldridge 看起来我还没有设置它。请检查更新的信息。
-
关于H18,请查看stackoverflow.com/questions/12704777/…。它们可能是由于不良客户端造成的,例如手机。
标签: ruby-on-rails ruby performance ruby-on-rails-4 heroku