背景最近在做ssr项目的监控报警,其中一个指标就是eventlooplatency(事件循环的延迟),有的项目出现上述现象指标逐渐变高。下面是解决问题的过程。监控工具使用prometheus监控使用prom-client库事件循环延迟(eventloopdelay):nodejs主线程的阻塞时间,在http请求场景下,阻塞时间越长,用户的响应时间越长排错:基于事件循环延迟的特点,我们观察到用户的平均响应时间并没有变长。仔细阅读了prom-client的代码,我们发现eventlooplatency的指标是采集的延迟时间,所以猜测是因为指标太多导致采集指标时事件延迟时间变长。经验证,当指标较多时,确实会出现该问题。最后优化指标数量,解决问题。
