RejectedSoftware Forums

Sign up

bench-http-server

I built bench-http-server example and tried to bench :) it with apache ab.
During testing, memory used by application is continuously growing. After reaching about 100Mb application hungs up.
ab args:

ab -c 50 -t 100 http://localhost:8080/static/10k

application output:

d:\tmp\bench>bench-http-server -v
[00AF0F80:00000000 dia] libevent version: 2.0.20-stable
[00AF0F80:00000000 dia] libevent is using win32 for events.
[00AF0E80:00000000 dia] libevent version: 2.0.20-stable
Listening for HTTP requests on :::8080
[00AF0D00:00000000 dia] libevent version: 2.0.20-stable
[00AF0E00:00000000 dia] libevent version: 2.0.20-stable
Listening for HTTP requests on 0.0.0.0:8080
[00AF0D00:00000000 dia] libevent is using win32 for events.
[00AF0F80:00000000 dia] Running event loop...
[00AF0E00:00000000 dia] libevent is using win32 for events.
[00AF0E80:00000000 dia] libevent is using win32 for events.
[00AF0E00:00000000 WRN] Got exception while accepting new connections: Unable to reserve memory for stack
[00AF0E80:00000000 WRN] Got exception while accepting new connections: Unable to reserve memory for stack
...
[00AF0E80:00000000 WRN] Got exception while accepting new connections: Unable to reserve memory for stack
[00AF0E80:00000000 WRN] Got exception while accepting new connections: Unable to reserve memory for stack
[00AF0E80:7CCBE080 dia] Error while writing the response: zlib memory error
[00AF0E80:7CCBE080 WRN] Handling of connection failed: Remote hung up while operating on TCPConnection.
[00AF0E80:7CCBE080 dia] object.Exception@C:\Users\...\vibe\core\drivers\libevent2_tcp.d(330): Remote hung up while operating on TCPConnection.
[00AF0E80:7CCBE080 dia] ----------------
[00AF0E80:7CCBE080 dia] 0x00454819
[00AF0E80:7CCBE080 dia] 0x00454508
[00AF0E80:7CCBE080 dia] 0x004A1BC8
[00AF0E80:7CCBE080 dia] 0x00485C96
[00AF0E80:7CCBE080 dia] 0x0048C600
[00AF0E80:7CCBE080 dia] 0x0048EF01
[00AF0E80:7CCBE080 dia] 0x0048DC4B
[00AF0E80:7CCBE080 dia] 0x0048B105
[00AF0E80:7CCBE080 dia] 0x00455044
[00AF0E80:7CCBE080 dia] 0x00448E58
[00AF0E80:7CCBE080 dia] 0x004C61DD
[00AF0E80:7CCBE080 dia] 0xFFFFFFFF
[00AF0E80:7CCBE080 dia] 0x76F571F5

Re: bench-http-server

On Thu, 03 Oct 2013 18:00:16 GMT, Jack Applegame wrote:

I built bench-http-server example and tried to bench :) it with apache ab.
During testing, memory used by application is continuously growing. After reaching about 100Mb application hungs up.
ab args:

ab -c 50 -t 100 http://localhost:8080/static/10k

application output:

d:\tmp\bench>bench-http-server -v
[00AF0F80:00000000 dia] libevent version: 2.0.20-stable
[00AF0F80:00000000 dia] libevent is using win32 for events.
[00AF0E80:00000000 dia] libevent version: 2.0.20-stable
Listening for HTTP requests on :::8080
[00AF0D00:00000000 dia] libevent version: 2.0.20-stable
[00AF0E00:00000000 dia] libevent version: 2.0.20-stable
Listening for HTTP requests on 0.0.0.0:8080
[00AF0D00:00000000 dia] libevent is using win32 for events.
[00AF0F80:00000000 dia] Running event loop...
[00AF0E00:00000000 dia] libevent is using win32 for events.
[00AF0E80:00000000 dia] libevent is using win32 for events.
[00AF0E00:00000000 WRN] Got exception while accepting new connections: Unable to reserve memory for stack
[00AF0E80:00000000 WRN] Got exception while accepting new connections: Unable to reserve memory for stack
...
[00AF0E80:00000000 WRN] Got exception while accepting new connections: Unable to reserve memory for stack
[00AF0E80:00000000 WRN] Got exception while accepting new connections: Unable to reserve memory for stack
[00AF0E80:7CCBE080 dia] Error while writing the response: zlib memory error
[00AF0E80:7CCBE080 WRN] Handling of connection failed: Remote hung up while operating on TCPConnection.
[00AF0E80:7CCBE080 dia] object.Exception@C:\Users\...\vibe\core\drivers\libevent2_tcp.d(330): Remote hung up while operating on TCPConnection.
[00AF0E80:7CCBE080 dia] ----------------
[00AF0E80:7CCBE080 dia] 0x00454819
[00AF0E80:7CCBE080 dia] 0x00454508
[00AF0E80:7CCBE080 dia] 0x004A1BC8
[00AF0E80:7CCBE080 dia] 0x00485C96
[00AF0E80:7CCBE080 dia] 0x0048C600
[00AF0E80:7CCBE080 dia] 0x0048EF01
[00AF0E80:7CCBE080 dia] 0x0048DC4B
[00AF0E80:7CCBE080 dia] 0x0048B105
[00AF0E80:7CCBE080 dia] 0x00455044
[00AF0E80:7CCBE080 dia] 0x00448E58
[00AF0E80:7CCBE080 dia] 0x004C61DD
[00AF0E80:7CCBE080 dia] 0xFFFFFFFF
[00AF0E80:7CCBE080 dia] 0x76F571F5

I've observed similar behavior recently, but can't say what is causing this right now. However, I'll look into it when I get some time to carry on with the techempower benchmark stuff. ...Plus there will be CI based automatic benchmark tests shortly, which should catch such regressions immediately in the future.