簡體   English   中英

使用 gem axlsx_rails 后,出現錯誤“超出內存配額”

[英]after use gem axlsx_rails, I get error “Memory quota exceeded”

我使用 gem axlsx_rails基於視圖中的 html 表創建報告。 使用此 gem 后,我收到有關 Heroku R14 Memory quota exceeded的錯誤消息。 但是即使網站上的人很少(晚上),我也會收到這條消息。 當我重新啟動 dyno 時,該消息會被暫時刪除,一段時間后它會重復。 在我看來,某處存在內存泄漏,內存已使用,但未清理。 你能幫我理解問題是什么嗎? 有什么想法嗎?

聚苯乙烯

測功機- Performance-M(RAM 2.5GB) 自動擴展至 2. 內存使用高達 6GB

網絡服務器 - Puma

WEB_CONCURRENCY - 2

RAILS_MAX_THREADS - 5

現在我將WEB_CONCURRENCY更改為 1 並重新啟動服務器,還沒有問題,但是有東西告訴我這是暫時的。 以前,這不是。

實際上,axlsx(或 caxlsx)的性能並不出名。 可悲的是,我還沒有找到任何解決方案讓它與 axlsx 一起工作......但是,你可以試試fast_excel

以下是 10 萬條記錄的一些基准數據:

Memory benchmark — — — — — — — — — — — — — — — — — — -
     fast_excel:  55201256 allocated
     xlsxtream:  311132199 allocated —  5.64x more
     caxlsx:     1941847581 allocated — 35.18x more


Time benchmark — — — — — — — — — — — — — — — — — — -
     fast_excel:  5.2363 seconds
     xlsxtream:   7.9638 seconds -  1.52x more
     caxlsx:      77.9891 seconds - 14.89x more

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM