gpt4 book ai didi

ruby-on-rails - 从 Heroku 上的 Rails 下载流式 ZIP 文件导致内存使用量增加

转载 作者:行者123 更新时间:2023-12-05 04:46:19 27 4
gpt4 key购买 nike

我正在使用 zipline生成 ZIP 文件并将其流式传输为浏览器下载。 ZIP 生成和下载同时发生。一切都按预期运行,但 Heroku 似乎在下载文件时使用越来越多的内存。内存消耗的增加通常接近于正在下载的 zip 文件,但大小没有那么大。 ZIP 是压缩的,但内容已经高度压缩,所以我不认为这种差异是由于此造成的。持续触发同一 ZIP 的重新下载确实会反复增加内存使用量,但它似乎会逐渐减少。

没有被动内存泄漏,但至少就 Heroku 的报告而言,很明显此进程的某些内容请求更多内存并且似乎从未将其释放给操作系统(?)。

过去 24 小时:

last 24 hours memory usage

过去 2 小时:

last 2 hours memory usage

Heroku 报告的 Ruby 指标:

heroku ruby memory metrics

内存使用图的几乎每一次急剧增加都触发了 ZIP 下载。我换成了 1GB 内存而不是 512MB 的测功机,看看它是否有帮助或释放内存,但没有。

Ruby 空闲内存槽和堆对象似乎根本没有改变。我不知道这是否是 Heroku 上测试版指标插件的缺陷,但我不知道如何调查它。

zipline gem 使用 ZipTricks 作为后端,我重新实现了我已经直接使用 ZipTricks 完成的操作并发现了完全相同的问题。

最佳答案

https://github.com/schneems/puma_worker_killer你为什么不试试这个?即使执行内存释放,内存碎片似乎仍在继续。

关于ruby-on-rails - 从 Heroku 上的 Rails 下载流式 ZIP 文件导致内存使用量增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68885737/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com