gpt4 book ai didi

ruby-on-rails - Rails 应用程序中的内存使用情况,如何监控和排除故障?

转载 作者:行者123 更新时间:2023-12-04 06:23:11 25 4
gpt4 key购买 nike

我有一个 Rails 应用程序,除其他外,它有几个计算量大的后台作业(图像处理:O)。

我正在使用 Sidekiq 来管理这些工作。我目前为每个 Sidekiq 进程设置了 5 个线程的并发性,这是我为查看内存使用情况所做的操作:

ps faux | grep sidekiq

结果是这样的:

hommerzi    3874  3.5  5.7 287484 231756 pts/5   Sl+  17:17   0:10  |   \_ sidekiq 2.17.0 imageparzer [3 of 3 busy]

但是,我觉得必须有一种方法可以从 Rails 应用程序中正确监控它,或者我错了吗?

我的问题是:在这种情况下如何监控我的内存使用情况?

最佳答案

我的建议是使用 Monit(或上帝)来管理您的流程。这适用于数据库、服务器、应用程序;不仅仅是后台工作。

这是一个例子:Monit Ruby on Rails Sidekiq

监视您的应用程序一段时间并设置实际的内存限制。然后,如果您的进程之一在给定的周期数(通常为 2 分钟检查)内终止或超过该限制,它将(重新)启动该进程。

您还可以设置警报电子邮件地址和 Web 前端(使用基本 HTTP 身份验证)。这对于在生产中运行稳定的应用程序至关重要。例如,最近我有一个 sidekiq 进程被自己带走并消耗了 250mb 内存。然后 Monit 重新启动进程(现在徘徊在 150mb 左右)并向我发送警报。现在我可以检查日志/系统,看看为什么会发生这种情况。这一切都发生在我睡着的时候。比替代方案要好得多:醒来后发现您的服务器因进程失控或服务崩溃而崩溃。

https://www.digitalocean.com/community/articles/how-to-install-and-configure-monit

关于ruby-on-rails - Rails 应用程序中的内存使用情况,如何监控和排除故障?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20557647/

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