On Fri, Nov 09, 2007 at 12:39:37AM +0100, Hannah Schroeter <[EMAIL PROTECTED]> 
wrote:
> I see less problems with the writing away of the data sucked from the
> web servers, as most Unix like systems write stuff asynchronously, so
> the open(..., O_CREAT...), write() and close() calls won't be too slow.

Most unix systems cache data for quite long, butwhen they write, usually
user mode apps also halt. For throughput this is of little concern, but
in a game server I wrote, even an fsync could freeze the server for 15-20
seconds(!) when another sync was in progress at the same time, or when
some othe rprogram geenrated lots of I/O (for example a backup/restore).

(I hear the linux is abysmal w.r.t. writing out data (and I agree :),
but I found similar problems with freebsd, too, so I guess it is quite
common).

> And if they should be slower than the network interfaces, combine
> things with I/O worker {threads,processes}. BTDT (main program using
> event multiplexing on network + socketpairs to I/O helper processes).

If anybody uses perl, there is the IO::AIO module which provides this
quite efficiently (using only a single pipe to report results, and it is
only written/read once per poll, not per result).

-- 
                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_              http://www.deliantra.net
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      [EMAIL PROTECTED]
      -=====/_/_//_/\_,_/ /_/\_\
_______________________________________________
Libevent-users mailing list
Libevent-users@monkey.org
http://monkeymail.org/mailman/listinfo/libevent-users

Reply via email to