[email protected] said:
> So after much fiddling I managed to get some C applications (web servers) 
> compiling as rump kernels, specifically thttpd and mathopd

Great!

> When I use the siege benchmarking tool to hit the server harder, after maybe 
> a few hundred or thousand successful requests, the siege client starts 
> returning socket errors.  Here is an extract from a much longer output:

...

> [error] socket: read error Connection reset by peer sock.c:479: Connection 
> reset by peer

> The notable thing here is that the same problem occured on both web servers.
> 
> Anyone got any ideas what might be behind the socket errors?

I ran into this as well when load-testing rump-mathopd and others. You need
to increase the amount of memory allocated to the unikernel. Running with
-M 128 should give you a stable system. Either that or run your siege tests
with keep-alive enabled, which will use much less kernel resources as you
won't be creating a new socket for each request.

As Antti writes, the main reason these extra resources get used is that
each socket stays around for a while in TIME_WAIT state.

Martin

Reply via email to