Stressing nginx

stormdust nginx-forum at nginx.us
Thu Mar 11 15:29:24 MSK 2010


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:
2010/03/05 18:27:45  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  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  5249#0: *21399 upstream sent unsupported FastCGI protocol version: 116 while reading upstream, client: 127.0.0.1, server: localhost, request: $


Mono log:

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.


Hope someone can point me out the right direction...

Regards,
Ribeiro

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,62672,62672#msg-62672




More information about the nginx mailing list