[java]用httpclient做压力测试时Too Many Open Files的解决办法

压力测试httpclient 在工作过程中,用httpclient去压测一个web api,发现压一小段时间就出现了Too many open files。
实际上,HttpClient建立Socket时 ,post.releaseConnection()并没有真正关闭连接,而是将该连接提交给 MultiThreadedHttpConnectionManager,等待复用。
而http的连接是等待timeout才会自动断开的,所以,当用完系统的句柄后,自然会报Too many open files。 解决办法: 设置post方法的header,增加

post.addRequestHeader( "Connection", "close");
client.getParams().setBooleanParameter( "http.protocol.expect-continue" , false );


原创文章如转载,请注明:转载自五四陈科学院[http://www.54chen.com]

捐款订阅54chen
捐赠说明

Comments