首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails应用程序生成MySQL加载--尽管现在触发了数据库访问

Rails应用程序生成MySQL加载--尽管现在触发了数据库访问
EN

Stack Overflow用户
提问于 2014-01-04 05:53:53
回答 2查看 105关注 0票数 2

我有一个Rails 4.x应用程序运行在服务器A上,MySQL运行在服务器B上。

使用ab对我的API调用进行负载测试时,我注意到MySQL服务器正在显示CPU活动。因此,我返回代码并检查,但是没有触发任何SQL语句,以确保我在筛选器之前也禁用了所有语句,但是MySQL服务器仍然显示CPU负载。

我去了MySQL跑

代码语言:javascript
复制
show processlist;

但是,这也没有显示任何活动的SQL语句。

为什么DB服务器上会有负载?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-06 22:32:10

Rails应用程序在app加载时将连接池初始化到已配置的数据库,并为每个定义用于填充从DB到该模型实例的运行时映射的ActiveModel加载基本模式数据。

一旦加载了应用程序并运行了通信量,这些连接/查询就会发生。

如果这不是数据库服务器上的活动的责任所在,您将需要使用其他工具来查看是什么原因造成的。例如,NewRelic的系统监视工具非常适合在与进程运行相关的时间内快照CPU/内存的使用情况。这将帮助您排除使用资源与运行在DB服务器上的其他事情的MySQL本身。

票数 1
EN

Stack Overflow用户

发布于 2014-01-13 09:07:38

根据这个文章,像Innodb这样的存储引擎可能每个线程都有自己的内存分配和/或全局内存分配,这可能是CPU开销的一部分。如果这是一个股票(未调优) MySql安装,您可能只是看到基线CPU活动。这篇文章提到了许多地方,这些地方可能表明可以调优以减少这种占用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20917531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档