我的問題:
這是典型的內存膨脹,內存泄漏,或者只是壞服務器配置的?如何在Heroku的Rails應用程序中防止R14錯誤和交換內存使用?
首先,我將
正如你所看到的,我一直在用交換內存增加內存使用的屏幕截圖。
此外,根據Heroku文檔設置我的Puma服務器config/puma.rb文件後,我得到一個恆定的平臺,然後增加內存。
我正在運行愛好者dyno 1x(512 mb)與0名工人。
我WEB_CONCURRENCY變量設置爲1個
我RAILS_MAX_THREADS也被設置爲1個
MIN_THREADS也被設置爲1
這裏是我的配置/ 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
我正在使用脫軌的寶石從我的寶石中測量內存使用情況。
我正在使用rack-mini-profiler & memory_profiler以每頁爲基礎進行測量。
允許應用程序運行結束後,這裏是以下幾點:
正如你所看到的應用程序不會超過其極限。如果任何人有任何有意義的建議,請隨時回答這個問題。