【发布时间】:2019-05-25 19:02:03
【问题描述】:
我正在尝试扩展我在 nginx 下运行的 overpass fastcgi 脚本,通过 fcgiwrap 连接。
配置工作正常,直到 m4.2xlarge AWS 实例上大约 140 个请求/秒。
CPU 使用率仅为 15%,许多请求以 502 错误代码开始失败。
显然没有权限问题。
Nginx 日志显示:
connect() 到 unix:/var/run/fcgiwrap.socket 连接到上游时失败(11:资源暂时不可用),客户端:10.0.16.100,服务器:,请求:“POST /api/interpreter HTTP/1.1 ", 上游: "fastcgi://unix:/var/run/fcgiwrap.socket:", 主机: xxxxx
和
epoll_wait() 报告客户端过早关闭连接,因此在向上游发送请求时上游连接也关闭,客户端:10.0.31.48,服务器:,请求:“POST /api/interpreter HTTP/1.1”,上游:“ fastcgi://unix:/var/run/fcgiwrap.socket:",
我的印象是 fcgiwrap.socket 或 socket 后面的 overpass 程序无法足够快地传递请求,但不确定如何优化。
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;
}
}
【问题讨论】:
标签: nginx load-testing fastcgi