今天一个接口502,不理解一个逻辑很简单的接口怎么会失败。因为我们的的架构是ofe+nginx+php,熟悉这个架构的人都知道,502错误码通常是php-fpm对应的fastcgi进程处理不过来请求导致的。
502状态码也叫网关错误,通常是因为并发请求高超过php-fpm处理能力,导致nginx没有从upstream收到正确的返回结果。
nginx
从上面的图中可以看到,upstream_time超过了5s,而正常的请求只需要10ms左右。乍一看像是超时,因为nginx.conf里面配置的fastcgi_connect_timeout是5s。