Efficent handling of sockets
Christopher Browne
cbbrowne-Re5JQEeQqe8AvxtiuMwx3w at public.gmane.org
Thu Feb 19 21:20:10 UTC 2009
On 2009-02-19, Ken Burtch <ken-8VyUGRzHQ8IsA/PxXw9srA at public.gmane.org> wrote:
> I had a question from a guy at work writing his own socket server in C.
> He is writing an application which needs to handle thousands of users.
I'd suggest being careful to ensure that you're solving the right problem...
The "c10k" site - http://www.kegel.com/c10k.html - points to the
"direct" ways of attacking this by trying to do "highly concurrent
I/O."
I'd suggest considering the idea of aggregating requests together and
then having some central processes that do "batch processing" on them
in order to get efficiencies of scale on that processing. This tends
to get handled via "message passing" or "message queuing" systems;
things that would be worth looking at (for ideas, if not
implementation) would include:
- SIMPL - QNX-style messaging http://sourceforge.net/projects/simpl/
- Spread - providing a high performance messaging bus resilient to
faults - http://www.spread.org/
- AMQP - an open standard (with several free software implementations)
fro Message Oriented Middleware -
http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol
Using messaging is likely to be easier to think about, which is of
non-zero value :-).
--
http://linuxfinances.info/info/linuxdistributions.html
--
The Toronto Linux Users Group. Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists
More information about the Legacy
mailing list