Hi everybody.
I have been testing nginx with mono to see if we can go this pass in development on the company.
I have made 4 simple pages:
-Two static pages (html, one with 1k and another with 25k)
-Two dinamic pages (one just compile on mono, the second compile in mono and go to SQL database, both made cache on mono)
More relevant data: Runing Suse 11.2 with nginx 0.84 and fastcgi with mono 2.6.
Result
http://img412.imageshack.us/img412/3068/graph4x.png
I had some problems ad-hoc during the test that i didn't manage to resolve with the configurations in ngnix. I really need some help to try identify the causes of the problems. Because the problems are random it seems, and not being caused by stressing the server.
I identify 3 major problems with nginx:
- upstream sent unexpected FastCGI record: 3
- upstream sent unsupported FastCGI protocol version: 116
- upstream sent unsupported FastCGI protocol version: 60 while reading upstream
One maybe be causing by mono (check mono log).
Nginx log:
[size=x-small]2010/03/05 18:27:45 [error] 5249#0: *16076 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:45 [error] 5249#0: *16102 upstream sent unsupported FastCGI protocol version: 116 while reading upstream, client: 127.0.0.1, server: localhost, request: $
2010/03/05 18:27:45 [error] 5249#0: *16148 FastCGI sent in stderr: "Failed to parse parameter data" while reading response header from upstream, client: 127.0.0.1, server$
2010/03/05 18:27:45 [error] 5249#0: *16148 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:45 [error] 5249#0: *16169 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:45 [error] 5249#0: *16167 FastCGI sent in stderr: "Failed to parse parameter data" while reading response header from upstream, client: 127.0.0.1, server$
2010/03/05 18:27:45 [error] 5249#0: *16167 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:45 [error] 5249#0: *16186 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:47 [error] 5249#0: *16616 FastCGI sent in stderr: "Failed to parse parameter data" while reading response header from upstream, client: 127.0.0.1, server$
2010/03/05 18:27:47 [error] 5249#0: *16616 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:48 [error] 5249#0: *16895 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:49 [error] 5249#0: *17170 FastCGI sent in stderr: "Failed to parse parameter data" while reading response header from upstream, client: 127.0.0.1, server$
2010/03/05 18:27:49 [error] 5249#0: *17170 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:49 [error] 5249#0: *17206 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:49 [error] 5249#0: *17199 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:50 [error] 5249#0: *17403 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:50 [error] 5249#0: *17402 FastCGI sent in stderr: "Failed to parse parameter data" while reading response header from upstream, client: 127.0.0.1, server$
2010/03/05 18:27:50 [error] 5249#0: *17402 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:50 [error] 5249#0: *17044 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 127.0.0.1, server: localhost$
2010/03/05 18:27:50 [error] 5249#0: *16989 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 127.0.0.1, server: localhost$
2010/03/05 18:27:50 [error] 5249#0: *17037 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 127.0.0.1, server: localhost$
2010/03/05 18:27:52 [error] 5249#0: *18344 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:52 [error] 5249#0: *18343 FastCGI sent in stderr: "Failed to parse parameter data" while reading response header from upstream, client: 127.0.0.1, server$
2010/03/05 18:27:52 [error] 5249#0: *18343 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:53 [error] 5249#0: *18631 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:54 [error] 5249#0: *18728 FastCGI sent in stderr: "Failed to parse parameter data" while reading response header from upstream, client: 127.0.0.1, server$
2010/03/05 18:27:54 [error] 5249#0: *18728 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:54 [error] 5249#0: *18841 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:54 [error] 5249#0: *18844 upstream sent unsupported FastCGI protocol version: 60 while reading upstream, client: 127.0.0.1, server: localhost, request: "$
2010/03/05 18:27:54 [error] 5249#0: *18830 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:56 [error] 5249#0: *19307 upstream sent unsupported FastCGI protocol version: 116 while reading upstream, client: 127.0.0.1, server: localhost, request: $
2010/03/05 18:27:56 [error] 5249#0: *19621 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:57 [error] 5249#0: *19659 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:57 [error] 5249#0: *19661 upstream sent unsupported FastCGI protocol version: 105 while reading upstream, client: 127.0.0.1, server: localhost, request: $
2010/03/05 18:27:57 [error] 5249#0: *19478 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 127.0.0.1, server: localhost$
2010/03/05 18:27:57 [error] 5249#0: *19779 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:57 [error] 5249#0: *19932 FastCGI sent in stderr: "Failed to parse parameter data" while reading response header from upstream, client: 127.0.0.1, server$
2010/03/05 18:27:57 [error] 5249#0: *19932 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:27:59 [error] 5249#0: *20198 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 127.0.0.1, server: localhost$
2010/03/05 18:27:59 [error] 5249#0: *20460 FastCGI sent in stderr: "Failed to parse parameter data" while reading response header from upstream, client: 127.0.0.1, server$
2010/03/05 18:27:59 [error] 5249#0: *20460 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 127.0.0.1, server: localhost$
2010/03/05 18:27:59 [error] 5249#0: *20474 FastCGI sent in stderr: "Failed to parse parameter data" while reading response header from upstream, client: 127.0.0.1, server$
2010/03/05 18:27:59 [error] 5249#0: *20474 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:28:01 [error] 5249#0: *21050 upstream sent unsupported FastCGI protocol version: 60 while reading upstream, client: 127.0.0.1, server: localhost, request: "$
2010/03/05 18:28:02 [error] 5249#0: *21340 FastCGI sent in stderr: "Failed to parse parameter data" while reading response header from upstream, client: 127.0.0.1, server$
2010/03/05 18:28:02 [error] 5249#0: *21340 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, r$
2010/03/05 18:28:02 [error] 5249#0: *20983 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 127.0.0.1, server: localhost$
2010/03/05 18:28:02 [error] 5249#0: *21399 upstream sent unsupported FastCGI protocol version: 116 while reading upstream, client: 127.0.0.1, server: localhost, request: $[/size]
Mono log:
[size=x-small]
Parameter name: s
[2010-03-05 18:27:45Z] Error Aborting request 1. Reason follows:
[2010-03-05 18:27:45Z] Error Failed to parse parameter data.
[2010-03-05 18:27:45Z] Error Failed to process connection. Reason: Argument cannot be null.
Parameter name: s
[2010-03-05 18:27:45Z] Error Aborting request 1. Reason follows:
[2010-03-05 18:27:45Z] Error Failed to parse parameter data.
[2010-03-05 18:27:45Z] Error Failed to process connection. Reason: Argument cannot be null.
Parameter name: s
[2010-03-05 18:27:47Z] Error Aborting request 1. Reason follows:
[2010-03-05 18:27:47Z] Error Failed to parse parameter data.
[2010-03-05 18:27:47Z] Error Failed to process connection. Reason: Argument cannot be null.
Parameter name: s
[2010-03-05 18:27:48Z] Error Failed to process connection. Reason: 8 bytes expected.
Parameter name: record
[2010-03-05 18:27:48Z] Error Failed to process connection. Reason: 8 bytes expected.
Parameter name: record
[2010-03-05 18:27:48Z] Error Failed to process connection. Reason: 8 bytes expected.
Parameter name: record
[2010-03-05 18:27:49Z] Error Aborting request 1. Reason follows:
[2010-03-05 18:27:49Z] Error Failed to parse parameter data.
[2010-03-05 18:27:49Z] Error Failed to process connection. Reason: Argument cannot be null.
Parameter name: s
[2010-03-05 18:27:50Z] Error Aborting request 1. Reason follows:
[2010-03-05 18:27:50Z] Error Failed to parse parameter data.
[2010-03-05 18:27:50Z] Error Failed to process connection. Reason: Argument cannot be null.
Parameter name: s
[2010-03-05 18:27:52Z] Error Aborting request 1. Reason follows:
[2010-03-05 18:27:52Z] Error Failed to parse parameter data.
[2010-03-05 18:27:52Z] Error Failed to process connection. Reason: Argument cannot be null.
Parameter name: s
[2010-03-05 18:27:54Z] Error Aborting request 1. Reason follows:
[2010-03-05 18:27:54Z] Error Failed to parse parameter data.
[2010-03-05 18:27:54Z] Error Failed to process connection. Reason: Argument cannot be null.
Parameter name: s
[2010-03-05 18:27:56Z] Error Request 1 does not exist.
[2010-03-05 18:27:56Z] Error Terminating connection.
[2010-03-05 18:27:56Z] Error Failed to process connection. Reason: Object reference not set to an instance of an object
[2010-03-05 18:27:57Z] Error Aborting request 1. Reason follows:
[2010-03-05 18:27:57Z] Error Failed to parse parameter data.
[2010-03-05 18:27:57Z] Error Failed to process connection. Reason: Argument cannot be null.
Parameter name: s
[2010-03-05 18:27:58Z] Error Failed to process connection. Reason: 8 bytes expected.
Parameter name: record
[2010-03-05 18:27:59Z] Error Aborting request 1. Reason follows:
[2010-03-05 18:27:59Z] Error Failed to parse parameter data.
[2010-03-05 18:27:59Z] Error Failed to process connection. Reason: Argument cannot be null.
Parameter name: s
[2010-03-05 18:27:59Z] Error Aborting request 1. Reason follows:
[2010-03-05 18:27:59Z] Error Failed to parse parameter data.
[2010-03-05 18:27:59Z] Error Failed to process connection. Reason: Argument cannot be null.
Parameter name: s
[2010-03-05 18:28:01Z] Error Request 1 does not exist.
[2010-03-05 18:28:01Z] Error Terminating connection.
[2010-03-05 18:28:01Z] Error Failed to process connection. Reason: Object reference not set to an instance of an object
[2010-03-05 18:28:02Z] Error Aborting request 1. Reason follows:
[2010-03-05 18:28:02Z] Error Failed to parse parameter data.
[2010-03-05 18:28:02Z] Error Failed to process connection. Reason: Argument cannot be null.
[/size]
Hope someone can point me out the right direction...
Regards,
Ribeiro