我们的系统最近面临CPU使用率高峰,其原因仍然未知。过去我们遇到了高内存使用率和磁盘警报,因为我们每天都在运行批量索引的夜间工作,更新了几乎所有的文档。但高CPU使用率不成问题。搜索响应时间不定时增加了一倍
迄今收集的数据:
节点03(出6个数据节点和3主)从高CPU使用(> 95%)所受5分钟,得到在1秒的响应时间尖峰,而平均响应时间是40毫秒。 查看指标,给定高CPU节点上的索引计数有轻微波动,同时Young GC出现轻微波动(尽管在两种情况下都没有出现峰值)。
我不排除大量索引,因为我们确实有一位卡夫卡消费者在任何时间接受大量索引数据,但是它的速度控制在每秒250个文档,每个时间间隔为250 ms批量呼叫。
此外,热线程端点确实提供了一些数据,但我无法破译它。
更新
更新了问题的标题,因为以前的意见是错误的。主要问题是响应时间增加了一倍,并且CPU使用率并不高,因为一段时间后使用情况已经稳定下来
已经有一些发展。在秒杀之后,CPU使用率逐渐下降并且正常。 但是,我们的响应时间始终保持在100-250毫秒之间(平均值为35-100毫秒)。
当前响应中存在接近齿锯(不完全一致的齿锯)模式。
而且,在老GC计数小凸点秒杀时有发生。
在节点统计信息中未发现任何异常。将在找到时更新。仍在张贴调查。
还发布了近期的热点话题 -
如果您有权访问日志,请检查您在CPU峰值期间运行的查询类型。排序结果是Cpu密集型的。您可能正在运行返回大量结果的查询。只是猜测... – jay
@jay我们有一个硬编码结果大小值的业务逻辑设置。还检查了任何分析日志。找不到任何东西。 –
所有热门主题都与搜索有关。在秒杀期间你有没有热线转储?你的查询有没有改变?聚合?如果您在这些服务器上有任何监控设置,您是否可以检查Node 03在峰值时是否正在经历严重合并? – jay