load balancing

Simon 'corecode' Schubert corecode at fs.ei.tum.de
Mon Oct 30 15:31:59 PST 2006


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pgp00029.pgp
Type: application/octet-stream
Size: 252 bytes
Desc: "Description: OpenPGP digital signature"
URL: <http://lists.dragonflybsd.org/pipermail/users/attachments/20061030/3c0cccfd/attachment-0018.obj>


More information about the Users mailing list