我遇到了一个让我头疼的问题,我可以使用一些想法来研究/修复它。
设置:
- 我在服务器 A (Rails.A) 上运行 Rails 应用程序(Apache2 w/Passenger)
- 我在专用数据库服务器 B (DB.B) 上运行主数据库
- 我在服务器 A (DB.A) 上使用标准 MySQL 复制运行从数据库(仅用于备份目的)
- Rails.A 正在读/写 DB.B
问题:
在 DB.A 上运行 mysqldump 时,A 上的平均负载猛增 因为 Apache 似乎分拆了大量的进程。这真的 对我来说没有意义,因为 DB.A 甚至没有被 Rails.A 使用。我可以 完全关闭 DB.A 和 Rails.A 工作正常。
我什至尝试过使用“ionice -c2 -n6”运行 mysqldump,没有任何变化。
想法?
最佳答案
我第一次看错了你的问题,没有意识到Apache和slave在同一台服务器上。
我认为即使转储上的设置很好,Apache 也会变得资源匮乏。我不知道它是在 io、内存还是 cpu 上被饿死,你必须做一些基准测试(不过 io 是我的猜测)。
无论如何,如果您仍然遇到问题,我会在 ServerFault 上重新提出这个问题,或者让 mod 为您移动它。
关于ruby-on-rails - apache2 和 mysqldump 导致大量负载平均峰值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1307303/