Nginx + fcgiwrap以高请求率抛出502 Bad Gateway

时间:2018-12-27 20:05:14

标签: nginx load-testing fastcgi

我正在尝试扩展在nginx下运行的,通过fcgiwrap连接的立式fastcgi脚本。

配置正常运行,直到在m4.2xlarge AWS实例上每秒发出约140个请求。

使用的CPU仅占15%,许多请求开始失败,并显示502错误代码。

显然没有权限问题。

Nginx日志显示:

  

与unix的connect():/ var / run / fcgiwrap.socket失败(11:资源暂时不可用),同时连接到上游,客户端:10.0.16.100,服务器:,请求:“ POST / api /解释器HTTP / 1.1 ”,上游:“ fastcgi:// unix:/var/run/fcgiwrap.socket:”,主机:xxxxx

  

epoll_wait()报告客户端过早关闭了连接,因此在向上游发送请求时,上游连接也关闭了,客户端:10.0.31.48,服务器:,请求:“ POST / api /解释器HTTP / 1.1”,上游:“ fastcgi:// unix:/var/run/fcgiwrap.socket:“,

给人的印象是fcgiwrap.socket或套接字后面的立交桥程序无法足够快地通过管道传递请求,但是不确定如何进行优化。

Nginx配置:

server {
   listen 80;

location / {
     add_header Allow "GET, POST, PUT, DELETE" always;
} 

location /cgi-bin/ {
                    include        fastcgi_params;
                    fastcgi_param  SCRIPT_FILENAME  /app/$fastcgi_script_name;
                    fastcgi_param  PATH_INFO        $fastcgi_path_info;
                    fastcgi_pass   unix:/var/run/fcgiwrap.socket;
                    fastcgi_buffers 8 16k;
                    fastcgi_buffer_size 32k;
                    fastcgi_connect_timeout 300;
                    fastcgi_send_timeout 300;
                    fastcgi_read_timeout 300;
            }

}

1 个答案:

答案 0 :(得分:0)

看起来像天桥特定的问题, 据此,当前的立交桥调度程序v0.7.55可以处理的并发请求数量非常有限:

https://github.com/drolbr/Overpass-API/issues/340