我有一個在 Ruby 2.7.2 上運行的應用程式。但是,我在集群模式下在 Puma 中檢測到記憶體泄漏,并且不會隨著preload_app!其他配置而消失。我懷疑罪魁禍首是 ruby?? 的記憶體管理。請求將巨大的 JSON 與嵌套陣列、嵌套哈希等組合在一起。
所以我的想法是使用 jemalloc ruby?? 而不是 glibc malloc。Jemalloc 稍微減少了本地環境中的問題。
當前 AWS ELB 保留的 ruby?? 位于/opt/elasticbeanstalk/.rbenv/shims/ruby.
我想改用 RVM,ruby 將使用 clang 編譯,使用 O3 優化,march 和 mtune 設定為本地,并使用 jemalloc 代替:
CC=clang HOSTCC=clang CFLAGS="-O3 -march=native -mtune=native -fno-plt" rvm install 2.7-jemalloc --with-jemalloc
如何在 ElasticBeanstalk 使用的 amazon linux 中將 ruby?? 設定為 RVM?
uj5u.com熱心網友回復:
可能的方法是為您的 EB準備自定義 AMI。因此,您將采用當前基于 Ruby 的 EB,根據您的需要對其進行自定義,其中包括對軟體默認版本的更改,為其創建 AMI,然后使用您的自定義 AMI 而不是 AWS 提供的默認 AMI。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/394835.html
上一篇:如何判斷一個關系是否剛剛被洗掉?
