我有一个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)。我似乎无法找到任何合理的解释。我该如何调查导致它的原因?有没有办法优化这个过程?
答案 0 :(得分:1)
此任务是否大量使用这些流程,然后按预期停止?它的徘徊时间远远超过应该的时间吗?
此外,值得注意的是,您只需要重建索引结构更改(新字段或属性),或者添加或删除索引 - 只更新数据,而是使用ts:index
任务(不做任何事情) t不必要地重启Sphinx)。