Fehlerhaftes Gateway 502 nach kleinem Auslastungstest auf FastCGI-Mono-Server über Nginx und ServiceStack

Ich versuche, eine Webservice-API mit ServiceStack unter Nginx und Fastcgi-Mono-Server auszuführen.

Der Server startet einwandfrei und die API ist in Betrieb. Ich kann die Antwortzeiten im Browser über den ServiceStack-Profiler sehen und sie werden unter 10 ms ausgeführt.

Aber sobald ich einen kleinen Auslastungstest mit "Belagerung" (nur 500 Anfragen mit 10 Verbindungen) durchführe, bekomme ich 502 Bad Gateway. Und um mich zu erholen, muss ich den fastcgi-mono-server neu starten.

Der Nginx-Server ist in Ordnung. Der fastcgi-mono-server reagiert nach dieser kleinen Last nicht mehr.

Ich habe versucht, sowohl TCP- als auch Unix-Sockets zu verwenden (mir ist ein Berechtigungsproblem mit dem Unix-Socket bekannt, das habe ich jedoch bereits behoben).

Hier sind meine Konfigurationen:

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;            
    }
}

So starten Sie den 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

BEARBEITEN: Ich habe vergessen, ein wichtiges Detail zu erwähnen: Ich starte dies unter Mac OS X.

Ich habe auch die gesamte mögliche Webserverkonfiguration für Mono getestet: Konsolenanwendung, Apache mod_mono, Nginx fast_cgi und Proxy_pass-Module. Alle hatten das gleiche Absturzproblem nach ein paar Anfragen unter Mono 3.2.3 + Mac OS X.

Ich konnte die gleiche Konfiguration auf einem Linux-Rechner testen und hatte dort keine Probleme.

Es scheint also ein Mono / ASP.NET-Problem zu sein, wenn Sie mit Mac OS X arbeiten.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage