[erlang-questions] Status of kqueue on FreeBSD

Oscar Hellström <>
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 * < 
> <mailto:>> 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).
> 
>     BR,
>     Rickard Green, Erlang/OTP, Ericsson AB.
> 

Best Regards
-- 
Oscar Hellström, 
Erlang Training and Consulting
http://www.erlang-consulting.com/



More information about the erlang-questions mailing list