结论: 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
原文地址:http://my.oschina.net/costaxu/blog/297975