nginx/Win2008R2 stops responding after few sessions

Hello,

I am running nginx 1.0.10 (native build) on Windows 2008 R2 with 2
worker
processes.

I am serving a static file (chunk.ts 375000 bytes) to a httperf client
running on CentOS 6. The client executes 4 concurrent connections and
sends
out 96 requests on each. The client has a response timeout set at 2
seconds. In the first execution of the client all 4 sessions succeed but
in
the second execution 2 sessions timeout due the lack of a response. In
the
third & fourth execution all sessions timeout.

I have some debug data available at
nginxnoresp. The archive contains

chunk.ts - the static file being served
error.log - nginx error log (debug level)
httperfout.txt - output of httperf executions
NetworkMonitor.cap - Packet capture from nginx server (using Network
Monitor)
nginx.conf - nginx conf used

The network capture shows TCP ACK for the request but no response from
nginx during 2 seconds. The nginx log shows 6 successfult sessions but
nothing much after that. If the server is restarted a few sessions would
succeed before it stops responding.

And importantly, there is no problem when the number of worker processes
is
set to 1.

Would you have any additional clues about what is going wrong?

Thanks
Kurien

On Friday 09 December 2011 21:05:12 Kurien Mathew wrote:

I am running nginx 1.0.10 (native build) on Windows 2008 R2 with 2 worker
processes.
[…]

And importantly, there is no problem when the number of worker processes is
set to 1.

Would you have any additional clues about what is going wrong?

So, just set the worker_processes directive to 1.

Setting worker_processes > 1 is meaningless on windows due to
limitations:
http://nginx.org/en/docs/windows.html#known_issues

wbr, Valentin V. Bartenev

Hello!

On Fri, Dec 09, 2011 at 06:05:12PM +0100, Kurien Mathew wrote:

third & fourth execution all sessions timeout.

The network capture shows TCP ACK for the request but no response from
nginx during 2 seconds. The nginx log shows 6 successfult sessions but
nothing much after that. If the server is restarted a few sessions would
succeed before it stops responding.

And importantly, there is no problem when the number of worker processes is
set to 1.

Would you have any additional clues about what is going wrong?

The worker_processes under windows must be set to 1 or you must
switch off accept_mutex. In either case only one worker will
actually do any work.

Maxim D.

I am aware of the limitations. I had two objectives in mind when
attempting
more than one worker process:

  1. See if it would be possible to have more than 1024 sessions
  2. Help in the identification of a probable bug.

Kurien