ActiveRecord确实有很多SHOW FIELDS

时间:2012-02-22 21:56:49

标签: mysql ruby ruby-on-rails-3 activerecord

根据innotop和Cacti的说法,我的数据库服务器处理SHOW FIELDS语句的次数是SELECT或任何其他高效查询的8倍。我正在使用Rails 3.0,因此它应该在加载后缓存列。我已经看到MySQL需要每个SHOW FIELDS查询的临时表的报告,我的监控数据也证实了这一点。

不可否认,我在非标准情况下使用ActiveRecord / Rails,涉及在100-200台计算机上启动大量(~400)进程,每台计算机都加载整个Rails环境。这些进程至少运行几分钟,可能超过24小时,每隔几分钟就进行一次数据库工作。请注意,这些进程不使用正常的HTTP请求/响应循环。

有什么方法可以避免这种情况吗?我们的config.cache_classes = true文件中有config/environments/production.rb。我实际上遇到了数据库服务器扩展问题,我认为这个问题是一个主要因素。

0 个答案:

没有答案