Rails 6 引导时内存膨胀

Rails 6 Memory Bloat on Boot

自从我升级到 Rails 6 并开始使用 webpacker 后,我在启动时的内存消耗(使用 heroku)一直是灾难性的。 它在大约 1200mb 处达到峰值,然后下降并稳定地挂在大约 1200mb 处。 512mb。 我试过 webpacker 延迟加载和块拆分但无济于事。 这是我在部署新版本(并重新启动 dynos)后第一次获取简单页面时的日志:

2019-11-29T07:28:35+00:00 app[heroku-redis]: source=CACHE_REDIS addon=redis-polished-49634 sample#active-connections=1 sample#load-avg-1m=0.11 sample#load-avg-5m=0.11 sample#load-avg-15m=0.135 sample#read-iops=0 sample#write-iops=0 sample#memory-total=15664216kB sample#memory-free=12118360kB sample#memory-cached=942820kB sample#memory-redis=313912bytes sample#hit-rate=1 sample#evicted-keys=0
2019-11-29T07:29:14+00:00 app[heroku-postgres]: source=HEROKU_POSTGRESQL_RED addon=postgresql-metric-77832 sample#current_transaction=79756157 sample#db_size=134809762951bytes sample#tables=38 sample#active-connections=7 sample#waiting-connections=0 sample#index-cache-hit-rate=0.97867 sample#table-cache-hit-rate=0.93505 sample#load-avg-1m=0 sample#load-avg-5m=0 sample#load-avg-15m=0 sample#read-iops=0 sample#write-iops=0.083333 sample#tmp-disk-used=2376790016 sample#tmp-disk-available=70602002432 sample#memory-total=4044932kB sample#memory-free=153736kB sample#memory-cached=3543852kB sample#memory-postgres=21172kB
2019-11-29T07:29:49.838066+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/academy/lessons" host=app.makerspro.io request_id=75fae01f-ebe6-49f0-9635-ac92f64430da fwd="77.137.95.95" dyno=web.1 connect=0ms service=30001ms status=503 bytes=0 protocol=https
2019-11-29T07:29:53.946177+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=app.makerspro.io request_id=b2d726c1-7742-4556-9302-b3e88f699adb fwd="77.137.95.95" dyno=web.1 connect=0ms service=11ms status=200 bytes=207 protocol=https

有什么办法可以克服它吗?或者至少不会超时请求?

在 webpacker.yml 中设置 compile: false 用于生产。

compile: true 表示:run webpack compilation during the request cycle,您很可能不想在生产中执行此操作,因为您会 pre 编译您的资产。