如何在 Heroku 上的 Rails 应用程序中防止 R14 错误和交换内存使用?
How can I prevent R14 errors and swap memory usage in a Rails app on Heroku?
我的问题:
这是内存膨胀、内存泄漏还是服务器配置错误的典型例子?
首先附上内存使用截图
如你所见,我一直在使用交换内存。
此外,根据 Heroku 文档设置我的 Puma 服务器 config/puma.rb 文件后,我的内存一直处于稳定状态,然后内存增加。
我正在 运行与 0 名工人一起使用爱好测功机 1x (512 mb)。
我的 WEB_CONCURRENCY 变量设置为 1
我的RAILS_MAX_THREADS也设置为1
MIN_THREADS也设置为1
这是我的 config/puma.rb 文件
workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['RAILS_MAX_THREADS'] || 5)
threads threads_count, threads_count
preload_app!
rackup DefaultRackup
port ENV['PORT'] || 3000
environment ENV['RACK_ENV'] || 'development'
on_worker_boot do
# Worker specific setup for Rails 4.1+
ActiveRecord::Base.establish_connection
end
我正在使用出轨的 gem 来测量我 gem 的内存使用情况。
我正在使用 rack-mini-profiler 和 memory_profiler 以每页为基础进行测量。
允许应用 运行 后,如下所示:
如您所见,该应用并未超出其限制。如果有人有任何有意义的建议,请随时回答问题。
上面提到的 dyno 和 puma 设置正在生成此报告。
所以,我们现在只是偶尔使用交换内存,不会超过几 MB,偶尔会达到 23 MB。该应用程序使用了很多 gem,您可以看到我们保持在 512 MB 限制以下。
我使用了 Heroku 的以下文档:
正确配置您的 puma 服务器
https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server
对于 R14 内存错误
https://devcenter.heroku.com/articles/ruby-memory-use
我的问题:
这是内存膨胀、内存泄漏还是服务器配置错误的典型例子?
首先附上内存使用截图
如你所见,我一直在使用交换内存。
此外,根据 Heroku 文档设置我的 Puma 服务器 config/puma.rb 文件后,我的内存一直处于稳定状态,然后内存增加。
我正在 运行与 0 名工人一起使用爱好测功机 1x (512 mb)。
我的 WEB_CONCURRENCY 变量设置为 1
我的RAILS_MAX_THREADS也设置为1
MIN_THREADS也设置为1
这是我的 config/puma.rb 文件
workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['RAILS_MAX_THREADS'] || 5)
threads threads_count, threads_count
preload_app!
rackup DefaultRackup
port ENV['PORT'] || 3000
environment ENV['RACK_ENV'] || 'development'
on_worker_boot do
# Worker specific setup for Rails 4.1+
ActiveRecord::Base.establish_connection
end
我正在使用出轨的 gem 来测量我 gem 的内存使用情况。
我正在使用 rack-mini-profiler 和 memory_profiler 以每页为基础进行测量。
允许应用 运行 后,如下所示:
如您所见,该应用并未超出其限制。如果有人有任何有意义的建议,请随时回答问题。
上面提到的 dyno 和 puma 设置正在生成此报告。
所以,我们现在只是偶尔使用交换内存,不会超过几 MB,偶尔会达到 23 MB。该应用程序使用了很多 gem,您可以看到我们保持在 512 MB 限制以下。
我使用了 Heroku 的以下文档:
正确配置您的 puma 服务器
https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server
对于 R14 内存错误
https://devcenter.heroku.com/articles/ruby-memory-use