IT技术博客大学习 共学习 共进步

用httpclient做压力测试时Too many open files的解决办法

五四陈科学院-坚信科学,分享技术 2011-01-10 23:15:04 浏览 3,562 次

    在工作过程中,用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 );

建议继续学习

  1. 给Apache做压力测试时遇到的问题 (阅读 7,183)
  2. Super Smack (阅读 4,224)
  3. [转]VPS服务器性能 压力测试工具 http_load、webbench、ab、Siege使用教程 (阅读 3,423)
  4. easy_runner一个简单的压测程序 (阅读 3,244)
  5. tcpcopy,模拟在线压力测试的好帮手 (阅读 3,242)
  6. MySQL小工具 之 压测Groovy (阅读 2,941)
  7. 倡议:MySQL压力测试基准值 (阅读 2,866)
  8. 降低应用latency方法谈 (阅读 2,762)