On Wed, 23 Oct 2013, Erik Steffl wrote:
On 10/23/2013 03:42 PM, David Lang wrote:
On Wed, 23 Oct 2013, Erik Steffl wrote:
On 10/23/2013 12:56 PM, Pavel Levshin wrote:
IMHO, for high-load TCP, rebindinterval is counter-productive, because
you need to establish a new connection each time. But yes, this
parameter exists.
why would it be counter productive? It should not be done too
frequently, that would be counter productive. But done at the right
interval the cost of re-establishing TCP connection is neglible and
makes it possible to do load balancing.
so you are saying the RebindInterval is just missing in docs?
I think that the RELp module just does not have rebindInterval, you can
try it and see if it works, but I suspect that it won't.
it seems like it should be working but it segfaults when rebinding should
occur (in relpCltHintBurstEnd in librelp.so.0), e.g. when I set it to 5 it
segfaults every 5 messages
definantly a bug :-)
Is there anybody successfully using RebindInterval with omrelp? Which
rsyslog version? I am using 7.5.5-0adiscon2 (from adiscon repo
http://ubuntu.adiscon.com/v7-devel quantal/)
Load balancing is very dependent on nature of your load, on your
bottlenecks, and so on. Why do you want to balance TCP connections?
If nothing else it provides high availability, spefically we are
using Amazon elastic load balancer (Amazon makes sure it's up and
running) with autoscaling group behind it (again, Amazon makes sure
that the bad machines are terminated, that at least N machines are up
and running (we specify N) etc.
well, with RELP, you actually don't need rebindinterval for HA, when the
ELB or an instance dies, traffic will pause temporarily, timeout, and
establish a new connection.
yes, I get that, tested it and it works great.
this particular setup also gives me high availability from the other side,
sort of.
I'm not understanding quite what you mean by this. are you meaning that without
rebindinterval you have HA or that you think you need rebindinterval to get HA?
and what do you mean by 'the other side'?
Amazon makes sure that load balancer and the machines behind it are
up, creates new machine if there is something wrong with a given machine (or
creates more machines if needed to handle the load).
from this perspective the actual load balancing does not make any
difference (i.e. it helps us even if we just put one machine behind load
balancer)
actually, you probably want to put two machiens behind the ELB, depending on how
long it takes a machine to spin up from scratch (depending on how you configure
the system it can be anywhere from a handful of seconds if you have everything
in the base image to tens of minutes if you use a stock base image and then have
it download and install a bunch up software)
It also takes some time for AWS to kill the old system once it detects a
problem, while the ELB will ignore the non-responding system right away.
rebindinterval will not change this. rebindinterval just makes it so
that when everything is working well, it will disconnect after N
messages and reconnect.
Other than that we are doing load balancing for the obvious reason,
there are tons of machines that send tons of logs, the collector
machine should not become a bottleneck so we want to have more than
one machine. Load balancer is a way to do that. Other solution would
be to have bunch of machines that all those log senders would
magically know about which is not exactly a solution (more like
nightmare).
what sort of traffic volume are you dealing with? a single system can
handle a pretty high traffic volume, so unless you are sending the
traffic to a slow destination of have a _very_ high traffic volume
(several hundred thousands of messages per second) a single box should
be able to handle the full load.
I don't think we need it right now but we're just rolling it out, still in
mostly experimental mode. At the moment we are somewhere in range of 1000
messages per second but it will go at least few times up. The messages are
relatively big (not huge but slightly bigger than one liners one usually sees
in /var/log/syslog, we record lot of details about requests).
test ramping the load up a lot. Unless you are doing regex or mmnormalize on
your messages, the longer messages will probably not hurt you too much, most of
the overhead in rsyslog is per-message and relatively independant of the length
of the messages.
David Lang
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE
THAT.