Gateway inválido 502 após teste de carga pequena em fastcgi-mono-servidor através de nginx e ServiceStack
Eu estou tentando executar uma API de serviço Web com ServiceStack sob nginx e fastcgi-mono-servidor.
O servidor inicia bem e a API está funcionando. Eu posso ver os tempos de resposta no navegador através do Profiler ServiceStack e eles são executados em 10 ms.
Mas assim que faço um pequeno teste de carga usando "cerco" (apenas 500 solicitações usando 10 conexões), começo a obter o 502 Bad Gateway. E para recuperar, tenho que reiniciar o fastcgi-mono-server.
O servidor nginx está bem. O fastcgi-mono-server é aquele que pára de responder após essa pequena carga.
Eu tentei usar ambos os soquetes tcp e unix (estou ciente de um problema de permissões com o soquete unix, mas eu já consertei isso).
Aqui estão minhas configurações:
server {
listen 80;
listen local-api.acme.com:80;
server_name local-api.acme.com;
location / {
root /Users/admin/dev/acme/Acme.Api/;
index index.html index.htm default.aspx Default.aspx;
fastcgi_index Default.aspx;
fastcgi_pass unix:/tmp/fastcgi.socket;
include /usr/local/etc/nginx/fastcgi_params;
}
}
Para iniciar o fastcgi-mono-server:
sudo fastcgi-mono-server4 /applications=local-api.acme.com:/:/Users/admin/dev/acme/Acme.Api/ /socket=unix:/tmp/fastcgi.socket /multiplex=True /verbose=True /printlog=True
EDIT: eu esqueci de mencionar um detalhe importante: eu estou executando isso no Mac OS X.
Eu também testei toda a configuração possível do servidor web para os aplicativos Mono: console, apache mod_mono, nginx fast_cgi e proxy_pass. Todos apresentaram o mesmo problema de falha após alguns pedidos sob o Mono 3.2.3 + Mac OS X.
Eu pude testar a mesma configuração em uma máquina Linux e não tive nenhum problema lá.
Portanto, parece que é um problema de Mono / ASP.NET quando executado no Mac OS X.