> Could you add
> open_file_cache max=1000 inactive=20s;
> open_file_cache_valid 30s;
> open_file_cache_min_uses 2;
> open_file_cache_errors on;
> and run just
> ab.exe -k -n 10000 -c 1
> to see if CreateFile() adds noticeable overhead ?
Then I increased the concurrency:
ab.exe -k -n 10000 -c 500
nothing error
ab.exe -k -n 10000 -c 1000
Error.log: many lines of "2009/04/22 11:14:15 [alert] 2744#448: *951 WSARecv() failed (10053: Your software in this host abandons this connection.) while keepalive, client: 127.0.0.1, server: 0.0.0.0:80"
(note: The error.log contains some Chinese characters after error number 10053 because of my OS's location. I translated these into English, maybe not accurate.)
My testing index.html is 151 bytes. Maybe it's too small. Then I used a test.html with size of 1K bytes. The result changed:
ab.exe -k -n 10000 -c 50
nothing error
ab.exe -k -n 10000 -c 100
nothing error
ab.exe -k -n 10000 -c 200
Error.log: many lines of "2009/04/22 11:34:22 [alert] 2744#448: *4806 WSARecv() failed (10053:Your software in this host abandons this connection.) while keepalive, client: 127.0.0.1, server: 0.0.0.0:80"
Then I tested a 100k file:
ab.exe -k -n 10000 -c 5
nothing error
ab.exe -k -n 10000 -c 10
nothing error
ab.exe -k -n 10000 -c 20
nothing error
ab.exe -k -n 10000 -c 30
Error.log:
there are two kinds of errors:
1. 2009/04/22 11:45:50 [alert] 2744#448: *4996 WSASend() failed (10053:Your software in this host abandons this connection.) while sending response to client, client: 127.0.0.1, server: localhost, request: "GET /test1.html HTTP/1.0", host: "127.0.0.1"
2. 2009/04/22 11:45:50 [alert] 2744#448: *4992 WSARecv() failed (10053:Your software in this host abandons this connection.) while keepalive, client: 127.0.0.1, server: 0.0.0.0:80