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
謝謝你的回答,我可以嘗試做到這一點,但它仍然不能解釋爲什麼內存不被釋放。這絕對是一種更好的方式來發送圖像,但你的建議! –