On Mon, 7 Jun 2010, Rainer Gerhards wrote:

> I have now shifted my focus to enhancing the multi-core utilization with
> imtcp. So far, we have a single epoll-loop (or select, if epoll is not
> supported), which obviously limits concurrency in some environments. I intend
> to remove that limit, or at least move the actual value much further.
>
> There are a couple of things to think about. There is one relatively simple
> approach, but if it works is pretty much depending on how things are deployed
> in practice.
>
> So I need your help. I would appreciate if you could read
>
> http://blog.gerhards.net/2010/06/further-improving-tcp-input-performance.html
>
> and share your comments. I have created a blogpost because that makes it
> easier for me to keep the text as reference. While the post is not exactly
> short, it also is not exhaustive, so please don't feel discouraged from
> reading it just because my thoughts are on a web site rather than included
> inline.

for some reason I can't comment on the blogpost, so I'll do it here.

I'm surprised to see this as a problem (especially as my experiance has 
been that the bottlenecks are on the output side, not the input side)

the data is serialized as it arrives over the wire (at least if you have a 
single ethernet port in use), and with epoll I would expect a single 
thread to have no problem pulling the data from the network stack and 
putting it somewhere.

I think that more research needs to be done on what is eating up the time 
in your test cases.

If it's DNS lookups, they can be disabled (and/or a 
name cache can be created as we have discussed before)

It may be that the parsing that's being done is what's taking the time 
here, so I would consider soemthing like the following

one thread to pull the data from the wire and dispatch it to N worker 
threads that would parse the message and put the result into the main 
queue.


even late last year with UDP messages I was able to saturate a Gig-E 
network with packets and receive them with <25% of a single cpu. I would 
not expect that TCP would have noticably more overhead.

David Lang
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com

Reply via email to