DragonFly BSD
DragonFly users List (threaded) for 2006-10
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: load balancing


From: "Simon 'corecode' Schubert" <corecode@xxxxxxxxxxxx>
Date: Tue, 31 Oct 2006 00:24:05 +0100

Joerg Sonnenberger wrote:
The problem with proxy architectures is of course the second copying,
esp. kernel -> userland -> kernel, which can put a bunch of additional
load on frontend machines. Using approaches similar to state-full
firewall handling e.g. of FTP can be used for this as well, e.g. make it
a transparent proxy. This is a lot more work though. I'm not aware of
any such Open Source solution though. It shouldn't be hard to do that
e.g. in a small kernel module though.

are you thinking of a way to bond two file descriptors together? that would be nice. first you do all header processing and whatnot, and then you just say


bond_fd(server_fd /* read side */, client_fd /* write side */);

and you can't read on server_fd anymore, and all data arriving there will be directly written to client_fd. this way you still could read the client piplined/keep-alive headers, but once your server has initiated transfers, you are not interested in seeing the data from the server any more, it should just pass the box into the other tcp stream. you could even recycle the mbuf, if you optimize the bonding deep enough - basically a sendfile for sockets.

cheers
 simon

--
Serve - BSD     +++  RENT this banner advert  +++    ASCII Ribbon   /"\
Work - Mac      +++  space for low €€€ NOW!1  +++      Campaign     \ /
Party Enjoy Relax   |   http://dragonflybsd.org      Against  HTML   \
Dude 2c 2 the max   !   http://golden-apple.biz       Mail + News   / \

Attachment: signature.asc
Description: OpenPGP digital signature



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]