On Thu, Apr 26, 2018 at 09:25:59AM +0200, Willy Tarreau wrote:

> On Thu, Apr 26, 2018 at 10:21:27AM +0300, Slawa Olhovchenkov wrote:
> > > > Pollers distinct from frontend?
> > > > Can I bind pollers to CPU?
> > > 
> > > Each thread has its own poller. Since you map threads to CPUs you indeed
> > > have one poller per CPU.
> > 
> > Each pooler pool all sockets or only sockets from binded frontends?
> 
> All sockets. All FDs in fact. This is normal, it's an event loop, it needs
> to be notified of *any* event (fd activity, signal).

I am mean in case of dedicated listen socket pooler also can be
dedicated, for load planing. For example:

frontend tcp1
        bind x.x.x.206:443
        bind-process 1/9-1/16
        mode tcp

threads 1-8 don't need any events from this socket at all.
This is also reduce communication w/ kernel, rise locality of data.

I mean locality accpeted socket only to one pooler will be good too.

> > > Please try this patch. It works for me. I finally managed to reproduce
> > > the issue even with epoll(), it's just that it's much harder to see it,
> > > but after trying multiple times eventually you see it as well. Under
> > > poll() however the issue occasionally happens and disappears by itself.
> > 
> > Like work for me too, thank
> 
> Great, thank you. You can use it for now to fix your production, it will
> likely be the one we'll use in 1.8 in the end. We're still working on
> addressing the root cause in 1.9 first.

10x

Reply via email to