Gatling 2 connection not closed / reused issue when pooling?

Hello,

I just started using Gatling to load test a simple REST service and stump upon this issue I could not find any detailed documentations.

My server is configured to serve 100 concurrent requests max. The request are handled very fast, usually in about 15ms. The following is the simple test simulation I configured:
class RestTest extends Simulation {

val httpConf = httpConfig
.baseURLs(“http://10.1.2.1:8080”,“http://10.1.2.1:8080”)

val headers = Map(
“Accept” → “application/json”,
“Content-Type” → “application/x-www-form-urlencoded”)

val scn = scenario(“REST Test”)
.exec(http(“request_3”)
.post("/service")
.headers(headers)
.body("""{“id”:“1”,“data”:“Test”}""").asJSON
.check(status.is(204)))

setUp(scn.inject(ramp(110 users) over(30 seconds)).protocolConfig(httpConf))
(Note I’ve edited the above code & removed sensitive info, but the structure and everything else is the same).

In theory, I should be able to run a lot of users. However, what happen is Gatling throw out following exception once it go beyond 100 users.

01:32:01.618 [WARN ] i.g.h.a.GatlingAsyncHandler - Request ‘request_3’ failed
java.io.IOException: Remotely Closed [id: 0xb57d2e50, /10.3.5.201:56143 :> /10.190.2.61:8080]
at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.channelClosed(NettyAsyncHttpProvider.java:1472) [async-http-client-1.7.15.jar:na]
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:88) [netty-3.6.5.Final.jar:na]

And looking at the simulation output, it shows that all ramped users are in the “done” state, since the server was very fast.
2013-05-23 02:25:45 25s elapsed
---- REST Test ----------------------------------------------------------------
[############################################################# ] 82%
waiting: 19 / running: 0 / done:91
---- Requests ------------------------------------------------------------------

Hi,