Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Request for change: threading model #25
In the current implementation, there is always one thread available per connection, which will have scaling issues on systems with a large number of persistent connections.
Now that browsers and clients are moving more and more to a large number of concurrent connections (6 to 8 seems to be the default), this issue becomes more exposed.
The only solution currently would be to disable keep_alive or increase the num_threads configuration parameter to a high enough value to serve all expected number of concurrent clients.
Ger Hobbelt has done an effort on creating a fork with a different threading model, as described by him:
His fork, based on an older version of mongoose, can be found at:
I'd very much like to see civetweb being capable of improving the scalability.
For more information, also see the discussion on the mailing list:
The design for this has been submitted for open discussion.