ruby-on-rails - Puma 100% 跑几秒后崩溃
问题描述
我已经使用 Nginx 和 Puma 在 AWS EC2 实例上部署了我的 ROR 应用程序。现在,我在应用程序中有一个页面,它在循环中运行大量查询(我知道这很糟糕,但我们会在一段时间内改进它)。
现在的问题是,这个页面给出了 502 Gateway Timeout 错误,导致 Puma Server 崩溃。我调查了服务器上的 CPU 进程,它显示该ruby
进程以 100% CPU 运行了几秒钟,然后 Puma 崩溃了。
我不确定为什么会发生这种情况,因为具有相同数据的同一页面会在 6-7 秒内加载到本地 PC 上。
这是 AWS 对流程的一些限制吗?
这是彪马方面的事情吗?
解决方案
经过几个小时的调试,我发现了这个问题。这是一个非常极端的场景,将服务器置于无限循环中,导致内存溢出。我曾经top -i
研究过不断增加的记忆。谢谢大家的建议和回复。
推荐阅读
- java - Android:编辑时看起来不错,在模拟器上不好 - 为什么
- javascript - 循环遍历 Javascript 对象并添加到 HTML Div
- c# - 我想在 ASP.NET MVC 中使用复选框做一个多重选择器,它从 Sql 数据库中获取员工 ID
- openstack - Rocky ceilometer memory mteric add memory.usage 数据采集粒度不准确
- project-reactor - 完成第一个 Mono 后执行 Mono 列表
- python - Python Selenium:NoSuchElementException:消息:没有这样的元素:无法找到元素
- r - Seurat 元数据的特征图
- r - 如何从 R 中多个组的每个观察值中减去滚动平均值
- python-3.x - 无法在运行 Sparkapplication 的 pod 上使用 configmap 挂载配置文件
- amazon-web-services - Google Apps 脚本:连接到 Amazon Selling Partner API(访问令牌)