thread starvation
While running several benchmarks I saw that http_load was getting time outs for some of the connections. This has been seen with all web-servers and different backends in lighttpd as well.
After patching http_load to handle timed out and byte count errors correctly, I could easily separate the time outs from other problems. In one of the last changesets I added a infrastructure to track the time spent in lighttpd for a single connection including the time spent in the different stages of the gthread-aio backend:
- scheduling the threaded-read()
- starting the read() in the thread
- waiting until it is finish
- sending the result into the main-loop
- writing the buffered data to the socket