> Doug, if you're looking for blistering socket performance you need to
> drop all this and learn about I/O Completion Ports.  I have clients
> and servers which can drive more than 10k sockets with NO MORE threads
> than you have CPUs as reported by GetSystemInfo.

It's pretty spectacular stuff, I had a fairly average xp box doing > 10k sockets
(through an external interface, no cheatingly going through localhost)
without breaking a sweat and with minimal cpu usage. I was doing TransmitFile
(also IOCPable) down a socket (like a webserver, minus the header and footer).
The hard part was driving the test, I needed several machines, as a
the single mac g5+
kqueues was in kernel panic terroritory at around 5000 sockets. To
test throughput
I tried  chunky reads and writes across several interfaces, including
a firewire card -
that worked great, but the xp firewire/tcp impl occasionally wedged itself...
Apparently the server versions of the windows have differently tuned versions
of the IOCP type calls, but I've never had a copy to test. I guess they're just
more "serverly". Boh.

I started from the kegel c10k website (not to be confused with the pelvic
floor exercises of the same name), however it doesn't have that much
on IOCPs, being a tad unix-centric.

The IOCP library code (but probably not the test itself..., should be added
as some sort of regression test) is part of the felix tarball (felix.sf.net).

Love,
RF.
_______________________________________________
Libevent-users mailing list
Libevent-users@monkey.org
http://monkey.org/mailman/listinfo/libevent-users

Reply via email to