我们如何在 Manticore Search 中重构系统线程
最近我们重构了我们的系统线程。由于我们从 Sphinx 分叉,早期的 searchd 所有系统任务都是以一种经常唤醒的方式进行的。每个服务在一个专用线程中工作,每 50 毫秒唤醒一次,检查是否有事情要做。这意味着即使是空闲的守护进程每秒也会唤醒 200 次“只是检查”一个任务。拥有 6 个这样的任务将使每秒唤醒 1200 次,这在使用 CPU 计数的 Amazon AWS 客户端中变得尤为明显。这些内部任务包括:
普通索引轮换 ping 一个代理 索引预加载 刷新索引属性 刷 …


