[erlang-questions] Status of kqueue on FreeBSD
Mon Apr 23 10:55:12 CEST 2007
Alex Arnon wrote:
> Would this mean that for an Erlang application with a large number of
> sockets (several hundred), OpenBSD might outperform FreeBSD?
I'm right now doing a lot of benchmarking on different OS:es with
different settings for the VM and TCP-stack and It is fairly obvious
that the kernel-polling makes a huge difference. I've forced kqueue
support on FreeBSD, but I'm experiencing problems which I'm not sure has
anything to do with the kqueue. In my case ERTS stop accepting more
connections after about 17k sockets, does nothing, and then terminates
from a segmentation fault. I will also be doing benchmarks on NetBSD and
Solaris. I probably won't get around to try it on FreeBSD, but as far as
I've understood, performance should not be better than for NetBSD.
That was the long answer, the short is, if OpenBSD can to kernel-polling
and FreeBSD cannot, you should have much better performance with
OpenBSD. I'm not sure it shows all that early though, you might need
more than a few hundred connections.
> On 4/19/07, *Rickard Green * <rickard.s.green@REDACTED
> <mailto:rickard.s.green@REDACTED>> wrote:
> Alex Arnon wrote:
> > Hi Rickard,
> > Is there also such problem on OpenBSD or NetBSD? Or can I safely use
> > kqueue on those platforms?
> We haven't had any problems with kqueue on OpenBSD in our daily builds.
> For NetBSD I cannot give you an answer, since we haven't got any NetBSD
> daily build machines.
> > In any case, is there an alternative option?
> Using poll/select is of course an alternative, but no other kernel-poll
> alternative (our configure test is written to prefer /dev/poll and
> epoll, but those interfaces will probably not be present).
> Rickard Green, Erlang/OTP, Ericsson AB.
Oscar Hellström, oscar@REDACTED
Erlang Training and Consulting
More information about the erlang-questions