0
我有一个非常简单的rails应用程序,它一次接收130MB的图像请求。这些请求是通过一个控制器处理的,该控制器只是响应一个json对象,表示它收到了该消息。这绝对是我所做的一切。这是轨道内存泄漏吗?
我有这个应用程序部署在一个heroku爱好动态测试。每当我提出请求时,内存消耗会大幅增加,往往超出我的测功机的极限。
Image of the heroku metrics log
我会期望内存在接收后的请求,“处理”回到正常(尤其是考虑到我没有用,即使接收到的内容)。
任何人都可以帮我弄清楚发生了什么事吗?
万一有帮助,这里是接收请求的控制器的代码片段:
class ImageUploadController < ApplicationController
def create
params["images"].each_with_index do |base64image, index|
# ImageUploadJob.perform_later(base64image, params["imageType"], params["profileID"], index)
end
params = nil
render :json => {'result': 'Image sent for upload'}, :status => :ok
end
您是否曾尝试一次发送一个图像?如果130 MB是发送它们时的图像大小,由于表示它们的Ruby对象,它在Ruby应用程序中的大小可能会更大。 – kcdragon
谢谢你的回答,我可以尝试做到这一点,但它仍然不能解释为什么内存不被释放。这绝对是一种更好的方式来发送图像,但你的建议! –