[prev in list] [next in list] [prev in thread] [next in thread]
List: mls-users
Subject: Re: [mls-users] where to run spread daemons?
From: Theo Schlossnagle <jesus () omniti ! com>
Date: 2002-07-20 20:54:02
[Download RAW message or body]
On Saturday, July 20, 2002, at 03:19 , Aditya wrote:
> be a problem right now. What other horrible things can I expect to
> happen if
> I don't run spread locally on each webserver?
If you have a cluster of 10 web servers on which each Apache instance
has 256 children, that is 2560 TCP connections to one box. That is not
optimal. Spread (with poll patch) should be able to handle that, but it
will be abusively slow. Also, you have to also consider the remote
spread daemon's OS now has to maintain 2560 active, long-term TCP/IP
sessions in addition to its normal workload (as opposed to a single unix
domain socket session).
Now consider that you want more than just spreadlogd listening to the
log stream. You want a monitor here and there and an addition logger
for fault-tolerance on another machine. This too can be done of TCP/IP
all to one Spread daemon, but you loose your fault tolerance AND all the
log streams have to be sent back out on the network to be delivered to
the monitor Spread clients.
TCP/IP isn't the optimal networking protocol to transmit these packets
(log messages) across a local area network. Spread however, is close to
"as good as it gets". So, if you have a Spread daemon running on each
web server and on each monitoring server, you get all of the messages
going everywhere at almost no additional cost. You also only have 256
or so open sockets to each webserver's Spread daemon and one or two unix
domain connections on the logging and monitoring hosts. You can have
multiple sources (web servers) and multiple sinks (loggers, monitors,
graphers, etc.) and it is still cheaper than the single logger model to
which you currently subscribe.
If you are not pushing much traffic (less that 10 million log lines/day)
you probably won't notice any logging bottlenecks the way you are doing
it. And, the way you are doing it now it a little easier to
administrate if you aren't a networking/systems admin -- configuring and
managing high traffic Spread rings (and keeping them stable) can be
challenging at times. So, if you are low traffic, then you probably
won't run into any "show-stoppers" running with one remote Spread daemon.
On a side note, the messages are tagged by site (as the private spread
user name is), so if you have one machine running spread, it can be hard
to tell which web servers are logging which hits. If you run an
individual spread daemon on each, the message that are sent will have
the hostname as a part of the sender's name, so you can actually break
out which hits were served by which hosts. This technique can be
invaluable in a real-time (top-like) monitor. With something like this,
you can see if your load-balancing configuration has resource contention
issues like assigning too many requests to a single machine. These
sorts of problem often present hard to decipher side-effects when
looking at daily, hourly or even minute-to-minute summary information.
And lastly, Spread is designed to be a distributed message distributions
system. In your model, you are not using it as intended. It will work
that way, but it isn't the suggested configuration. So, if something
goes wrong and you try to troubleshoot it and look for help in the user
community, most likely they will tell you first to set it up in a
distributed fashion and see if your problems go away :-D
Hope this helps a bit!
--
Theo Schlossnagle
Principal Consultant
OmniTI Computer Consulting, Inc. -- http://www.omniti.com/
Phone: +1 301 776 6376 Fax: +1 410 880 4879
1024D/82844984/95FD 30F1 489E 4613 F22E 491A 7E88 364C 8284 4984
2047R/33131B65/71 F7 95 64 49 76 5D BA 3D 90 B9 9F BE 27 24 E7
_______________________________________________
mls-users mailing list
mls-users@lists.backhand.org
http://lists.backhand.org/mailman/listinfo/mls-users
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic