Skip to content

Latest commit

 

History

History
15 lines (8 loc) · 1.09 KB

http-latency.md

File metadata and controls

15 lines (8 loc) · 1.09 KB

Debug: HTTP 请求高延时

问题:发现某些网页请求延迟很高,平均有 2s 左右。

初步排查:使用 Postman 或类似工具发送请求,观测到延时少了一半。可以排除是网关转发导致的问题。

进一步排查:复制完整的请求头,确保 Postman 发出的请求和浏览器一致,观测到结果不变。浏览器请求就是比直接请求要慢。猜测是前端导致。

进一步排查:分析浏览器请求和直接请求的区别——前者在加载页面时会同时发生多个请求,并发是否会造成影响?使用 Postman 测试工具测试多进程请求,观测到延时明显升高,5 个并发进程,平均响应时间 4s。定位到是后端并发处理的支持问题。

进一步排查:为什么后端处理并发请求有问题?原来是 php-fpm 的线程数之前被修改为了 1。

解决方案:fpm 初始线程数修改为 5,冗余线程数为 5,在时间性能和内存占用上取得平衡。

经验:不到最后定位到根本原因,中间过程得出的结论可能都是错误的或者不完整的。