|
|
|
|
|
by kqueue
5341 days ago
|
|
Network IO, Disk IO, scheduling, locks etc.. all trigger context switches and not only mode switch because only the kernel is allowed to manipulate data structures related to mbufs, vfs, and whatnot. When I said epoll/kqueue doesn't affect the accept rate, I was replying back to a specific request of writing a program to just accept/reply/shutdown. In this case you are passing one fd to the poller which won't matter much what poller you are using. My original comment is that you are measuring the wrong thing and it's not against hellepoll. requests / sec can be much higher than reply / sec because they get buffered waiting for you to accept them. Once accepted, then a request is counted. What matters though, especially to the http client is how long it takes to serve the connection from start to finish, hence reply rate. fyi, you can use libev for poller portability. You can experiment with this command and look at the reply rate. httperf --num-conns=10000000 -vv --num-calls=1 --port=<your_port> |
|
2) ab does wait for the requests to complete before sending the next
3) you really are flat wrong when you don't make a distinction between mode switching and context switching
4) conclusion: with a name like yours, you must be trolling