IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

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

五四陈科学院-坚信科学,分享技术 2011-01-10 23:15:04 累计浏览 3,598 次
本机暂存

    在工作过程中,用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. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 浅析http协议、cookies和session机制、浏览器缓存 (累计阅读 17,444)
  2. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,932)
  3. libcurl的使用总结(二) (累计阅读 15,083)
  4. 使用python爬虫抓站的一些技巧总结:进阶篇 (累计阅读 13,299)
  5. HTTP协议Keep-Alive模式详解 (累计阅读 12,102)
  6. 你必须了解的Session的本质 (累计阅读 11,439)
  7. curl 命令使用cookie (累计阅读 10,015)
  8. Hello! 404 (累计阅读 9,384)
  9. 解决 nginx 反向代理网页首尾出现神秘字符的问题 (累计阅读 9,093)
  10. POST与GET的区别及RESTful (累计阅读 7,862)