On Sat, 24 Jan 2015, David Lang wrote:

- RELP or not
 * My benchmarks on a 1G 20-core box achieved maximum of 27 MB/s
(uncompressed) with RELP with multiple producers. Compare it with ptcp: 98
MB/s uncompressed, 220 MB/s with stream-compression. So efficiency is one
of the points of contention.
 * Per message ack does not bring a whole lot of value over seq_no range
based acks. Entire range will have to be re-transmitted in case of error,
but if errors are infrequent, that'll not be a problem.

so let's look at improving RELP, something that will help many people who aren't going to do the millions of logs/sec with the dozens of nodes per layer than you are describing.

Where are the bottlenecks in RELP? it does allow a window of X messages to be waiting for acks. Does that window need to be larger? Do we need to allow for multiple acks to be sent as one message?

Another datapoint that may be related, there was a post here where someone has the batch size set to 1000 and RELP didn't work for them until that setting was removed.

There's no fundamental reason why RELP, with a large enough window, should be significantly slower than plain TCP, as long as the network and CPUs are not being saturated. There is a little overhead when the message is sent that eats some bandwideth, but the acks back should be effectively free (they will piggyback on the TCP level ack packets that are sent, eating a little bandwidth in a direction that is otherwise pretty much idle). If the window is large enough, the acks should be arriving fast enough so that transmission of new messages never needs to pause.

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.

Reply via email to