Я пытаюсь масштабировать мой сценарий overpass fastcgi, который работает под nginx, подключаясь через fcgiwrap.
Конфигурация работает нормально до 140 запросов в секунду на экземпляре m4.2xlarge AWS.
Используется процессор только 15%, и многие запросы начинают сбой с кодом ошибки 502.
Очевидно, что нет никаких проблем с разрешениями.
Журналы Nginx показывают:
connect () к unix: /var/run/fcgiwrap.socket не удалось (11: ресурс временно недоступен) при подключении к восходящему каналу, клиенту: 10.0.16.100, серверу:, запрос: «POST / api / интерпретатор HTTP/1.1 ", upstream:" 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;
}
}