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