问题描述
|
我每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)不必要地)。