Linux & memcached

Anatoly Vorobey
Fri, 17 Oct 2003 23:51:54 +0200

On Fri, Oct 17, 2003 at 05:45:06PM -0400, Perrin Harkins wrote:
> On Fri, 2003-10-17 at 17:31, Anatoly Vorobey wrote:
> > 6. libevent 0.7b introduced a new 'rtsig' notification method for linux; 
> > rtsig stands for real-time signals. However, it's buggy (not the OS
> > support for real-time signals, but libevent's wrappers); it 
> > doesn't really work yet, and for that reason it's not even compiled in 
> > by default when libevent 0.7b builds, you have to specifically request 
> > it if you want it.
> FYI, I've been using a binary that Brad built that seems to select rtsig
> when I boot an unpatched 2.4 kernel.  Performance is on par with epoll,
> although I imagine that epoll may offer better scalability.

rtsig should scale pretty well, though perhaps slightly worse than 
epoll. The problem with rtsig currently is that it's too buggy - that's 
the reason to avoid it, not the performance. For
example, when a client closes the connection suddenly, memcached using
rtsig will often just exit the program (which should never happen). This
happens because the main even loop of libevent returns (which should
never happen with memcached), because it thinks there's been a fatal 
error while in fact there hasn't been one. I'm debugging this and other
issues with rtsig. Once it's cleaned up, the performance (as you note) 
should be good.