思考Sphinx重建索引-高CPU负载

问题描述

| 我每5分钟有一份CRON作业来重建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)不必要地)。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...