This site is running Puma on a Heroku 1X dyno. Following are some metrics switched from Ruby 2.6 to 2.7.
MALLOC_ARENA_MAX=2
RAILS_MAX_THREADS=5
RUBY_GC_HEAP_GROWTH_FACTOR=1.03
WEB_CONCURRENCY=4
RUBYOPT=--jit
and in puma config:
# config/puma.rb
before_fork do
GC.compact if GC.respond_to?(:compact)
end
- Ruby: Heap Objects (MAX Freed): 2.6 ~400k, 2.7 ~15k
- Ruby: Free Memory Slots (AVG): 2.6 ~35k, 2.7 ~500
Ruby 2.7 seems to use as much memory as possible.
Response time was about 300-400ms in Ruby 2.6, <200ms in Ruby 2.7.
- Rails master fixed most of warnings (2020.01.02)
- Sprockets, Sprockets Rails master
- Octokit 4.15.0
- pg 1.2.0 (ged/ruby-pg#307)