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.
Gems to work with 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)