Zła brama 502 po małym teście obciążenia na serwerze fastcgi-mono poprzez nginx i ServiceStack

Usiłuję uruchomić API usługi sieciowej z ServiceStack pod nginx i fastcgi-mono-server.

Serwer uruchamia się dobrze, a interfejs API działa i działa. Widzę czasy odpowiedzi w przeglądarce za pomocą profilera ServiceStack i działają one w 10ms.

Ale jak tylko wykonam mały test obciążenia przy użyciu „oblężenia” (tylko 500 żądań przy użyciu 10 połączeń), zaczynam uzyskiwać 502 Bad Gateway. Aby odzyskać, muszę ponownie uruchomić fastcgi-mono-server.

Serwer nginx jest w porządku. Fastcgi-mono-server jest tym, który przestaje odpowiadać po tym małym obciążeniu.

Próbowałem użyć gniazd tcp i unix (zdaję sobie sprawę z problemu uprawnień z gniazdem unix, ale już to naprawiłem).

Oto moje konfiguracje:

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

Aby uruchomić 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

EDYCJA: Zapomniałem wspomnieć o ważnym szczególe: Używam tego na Mac OS X.

Przetestowałem również wszystkie możliwe konfiguracje serwera WWW dla aplikacji Mono: konsola, moduły apache mod_mono, nginx fast_cgi i proxy_pass. Wszyscy przedstawili ten sam problem awarii po kilku żądaniach w Mono 3.2.3 + Mac OS X.

Udało mi się przetestować tę samą konfigurację na komputerze z Linuksem i nie miałem tam żadnych problemów.

Wygląda więc na to, że jest to problem Mono / ASP.NET podczas pracy na Mac OS X.

questionAnswers(1)

yourAnswerToTheQuestion