背景
最近在做 ssr 我的项目的监控报警,其中一个指标是 event loop latency(事件循环的提早)
, 局部我的项目呈现了以上指标逐步变高的景象。以下是问题解决的过程。
- 监控的工具采纳的是 prometheus
- 监控应用的是 prom-client 库
event loop latency(事件循环的提早): nodejs 的主线程的阻塞时长,在 http 申请场景中,阻塞工夫越长用户的响应工夫越长
问题排查:
基于 event loop latency 的个性,察看了用户的均匀响应时长没有发现变长的状况,认真看了 prom-client 的代码发现 event loop latency
这个指标是采集的采集时候的提早时长,因而猜想是因为指标数量过多,导致收集指标的时候事件提早变长,通过验证果然当指标数量多的时候的确会有这个问题,最终优化了指标数量,问题解决。