ruby-on-rails - Thinking Sphinx 重建索引 - 高 CPU 负载

标签 ruby-on-rails ruby ruby-on-rails-3 sphinx thinking-sphinx

我有一个 CRON 作业,每 5 分钟重建一次 Sphinx 索引:

*/5 * * * * cd/var/www/my_app &&/usr/local/bin/ruby/usr/local/bin/rake RAILS_ENV=production ts:rebuild >>/var/www/my_app/log/cron_log.log

它仅索引一个包含大约 400 条记录的表,但每次启动 rake 任务时,CPU 负载都会跳到 100%(具有 4 个 CPU 和 1 GB RAM 的 VPS)。我似乎找不到任何合理的解释。我如何调查导致它的原因?有什么办法可以优化这个过程吗?

最佳答案

此任务是否大量使用进程,然后按预期停止?它停留的时间是否比应有的长得多?

此外,值得注意的是,只有在索引结构发生变化(新字段或属性)或添加或删除索引时才需要重建 - 要仅更新数据,请使用 ts:index 任务相反(它不会不必要地重新启动 Sphinx)。

关于ruby-on-rails - Thinking Sphinx 重建索引 - 高 CPU 负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6144048/

相关文章:

ruby-on-rails - rails 3 : Why the field with error is not wrapped with "field_with_errors" div when validation fails?

ruby-on-rails - 检查是否传递了 ruby​​ 关键字参数(RUBY)

javascript - 如何实现 Ruby 的 Array.include?在 JavaScript 中?

ruby-on-rails - Rails CSS 更改未保存

ruby-on-rails - Passenger 仅适用于将要开发的 RailsEnv

ruby-on-rails - 如何使用继承和嵌套属性构建 Rails 表单?

ruby-on-rails - 设计注册 Controller 的未定义方法 `users_url'

ruby-on-rails - 使用常量化的安全影响

database - 创建一个 Ruby gem 以从多个 Rails 应用程序访问第二个数据库

ruby-on-rails - ActiveAdmin 如何添加没有模型的自定义 Controller