首页 > 代码库 > node js 处理时间分析

node js 处理时间分析

结论: pm2日志中请求时间包含连接建立时间到处理结束时间。

今天遇到一个诡异的问题。同样的一个nodejs程序部署在两个环境中, 一个环境的pm2打印的服务器响应时间是几个毫秒,另外一个环境的Pm2打印的服务器响应时间是几十/几百甚至几千毫秒不等。两个环境的部署服务器配置一致,软件环境一致,唯一不同是A环境采用的是nginx做反向代理,B环境采用的是青云的负载均衡器做反向代理。

最后定位到两个日志中响应时间不同的原因是,nginx作为反向代理是会把HTTP请求全部收完之后再发送,而青云的负载均衡是不断的发送请求包到服务。

青云的负载均衡代理的服务器的日志如下:

23:27:05.892857 IP 10.80.32.99.43129 > 192.168.10.5.3012: Flags [S], seq 3297605978, win 14600, op

23:27:05.977404 IP 192.168.10.5.3012 > 10.80.32.99.43129: Flags [.], ack 19498, win 326, options

23:27:05.991372 IP 192.168.10.5.3012 > 10.80.32.99.43129: Flags [P.], seq 26:208, ack 19498, win 32

这是抓包的时间,总共花了99ms。

892 - 977是接收数据, 一共花了85ms, 977 - 991是处理数据,花了14ms