On Apr 1, 2011, at 2:24 PM, dsimcha wrote: > == Quote from Brad Roberts ([email protected])'s article >> I've got an app that regularly runs with hundreds of thousands of >> connections (though most of them are mostly idle). I haven't seen it >> break 1M yet, but the only thing stopping it is file descriptor limits and >> memory. It runs a very standard 1 thread per cpu model. Unfortunatly, >> not yet in D. >> Later, >> Brad > > Why/how do you have all these connections open concurrently with only a few > threads? Fibers? A huge asynchronous message queue to deal with new requests > from connections that aren't idle?
A huge asynchronous message queue. State is handled either explicitly or implicitly via fibers. After reading Brad's statement, I'd be interested in seeing a comparison of the memory and performance differences of a thread per socket vs. asynchronous model though (assuming that sockets don't need to interact, so no need for synchronization).
