CONNECTION_RESET(HttpClient Connection Reset异常)

CONNECTION_RESET(HttpClientConnectionReset异常)1.背景最近项目使用HttpClient进行服务调用,为了提高利用率,使用了HttpClient连接池并进行了链接参数调优;链接池:PoolingHt…

CONNECTION_RESET(HttpClient Connection Reset异常)

1.背景

最近项目使用HttpClient 进行服务调用,为了提高利用率,使用了HttpClient 连接池并进行了链接参数调优;

链接池:

PoolingHttpClientConnectionManager

参数:

ConnectTimeout=

 3000;链接建立的超时时间

SocketTimeout=10000; 

响应超时时间,超过此时间不再读取响应;

ConnectionRequestTimeout= 3000; http clilent中从connetcion pool中获得一个connection的超时时间;

MaxPerRoute = 200

MaxTotal = 400

注意这里有个坑,连接池默认MaxTotal =2,最大仅支持两个并发;

CONNECTION_RESET(HttpClient Connection Reset异常)

2.问题

在调整了上述配置之后,发现偶尔出现Connection Reset的异常情况

3.分析过程

出现Connection Reset的原因

1.客户端在读取数据,服务端不再发送新数据(服务器主动关闭了数据)

解决:加入驱逐配置时间

evictIdleConnections(40, TimeUnit.SECONDS)

httpClient

= HttpClients.custom().setDefaultRequestConfig(RequestConfig.custom().setConnectionRequestTimeout(TIMEOUT).setConnectTimeout(CONNECT_TIMEOUT).setSocketTimeout(TIMEOUT).build()).setConnectionManager(cm).evictIdleConnections(IDEL_TIMEOUT, TimeUnit.SECONDS).build()

;




4.带来的问题



上述配置完成后,发现运行一段时间后内存资源不足,导致服务雪崩

其实这里主要也是引入httpclient池和evictIdleConnections配置造成的,看源码




CONNECTION_RESET(HttpClient Connection Reset异常)




CONNECTION_RESET(HttpClient Connection Reset异常)

每次会new一个守护线程,这里就是造成线程资源不足的主要原因;

解决方案:

这里其实应该把

httpClient 作为单例模式来处理

private



static

CloseableHttpClient httpClient;

@

PostConstructpublic void init()

{    PoolingHttpClientConnectionManager  cm = ne

w P

oolingHttpClientConnectionManager();    if

(!

autoRefreshConfigBean.getMaxTotal().equ

als(cm

.getMaxTotal()) || !autoRefreshConfigBean.getDefaultMaxPerRoute().equ

als(cm

.getDefaultMaxPerRoute())) {        cm.setMaxTotal(autoRefreshConfigBean.getMaxTotal());        // 将每

个路由基础的连接增加    

  cm.setDefaultMaxPerRoute(autoRefreshConfigBean.getDefaultMaxPerRoute());    }    httpClient = HttpClients.custom().setDefaultRequestConfig(RequestConfig.custom().setConnectionRequestTimeout(TIMEOUT).setConnectTimeout(CONNECT_TIMEOUT).setSocketTimeout(TIMEOUT).build()).setConnectionManager(cm).evictIdleConnections(IDEL_TIMEOUT, TimeUnit.SECONDS).build();    log.info(“========

=====PoolingHttpClientConnectionManager-CloseableHttpClient被初始化=============”);}

版权声明:本文内容由网友提供,该文观点仅代表作者本人。本站(http://www.zengtui.com/)仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 3933150@qq.com 举报,一经查实,本站将立刻删除。

本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至907991599@qq.com 举报,一经查实,本站立即删除。本文作者:小斋,如若转载,请注明出处:https://zhubao.liekang.com/211507.html
(0)
小斋的头像小斋
上一篇 2023年12月6日 下午12:59
下一篇 2023年12月6日 下午1:00

相关推荐

  • 没合同直接走人还有工资吗( 未签订合同的就业风险)

    合同在职场中扮演着重要的角色,它规定了雇员和雇主之间的权利和义务,也保障了双方的合法权益。当一名员工没有合同或直接离职时,是否还能获得应有的工资待遇成为一个备受关注的问题。本文将探…

    2023年12月8日
  • 儿童注意力训练机构(注意力指导中心排行)

    儿童注意力训练机构(注意力指导中心排行) 注意力指导中心排行:哪些机构值得信赖? 随着社会的进步和人们的生活方式的改变,越来越多的人开始关注自己的注意力问题。 注意力不足、分散、不…

    2024年3月14日
  • 心渊梦境正版下载分享 心渊梦境手游下载地址

    最近其实各类冒险游戏的制作都是非常精致的,且可以给玩家带来多种玩法,本期介绍的这款游戏也是一样,今天带来的是心渊梦境正版下载分享,如果大家之前看到过小编介绍的相关技巧,其实本期小编…

    2024年4月8日
  • 母亲节深情祝福语贺词文案

    一.母亲节朋友圈高赞文案看吧,就是这位女王让本公主/王子诞生的。宇宙洪荒,生命浩瀚,但只有你和我,真正分享过心跳.我生命中最重要的女人节日快乐。我住过最温暖的房子,是妈妈的肚子。世界无法掌握,但我妈只偏爱我。“妈妈,你知道我喜欢喝什么吗?”“呵…

    投稿 2023年11月14日
  • 三国演义每1-120回梗概

    第一回汉朝末年,张角兄弟发动叛乱,刘备、关羽、张飞三人桃园结义,踏上了保国安邦的道路。第二回督邮故意刁难刘备,张飞怒不可遏,痛打了督邮一顿。朝廷上宦官专权,大将军何进立外甥刘辩为帝,掌握兵权后决定剿除宦官。第三回何进被宦官所杀,而与此同时他所召来的凉州刺史董卓已经率兵来到洛阳。董卓…

    投稿 2023年11月14日
  • 血糖正常值范围 最新标准2022(血糖正常值范围)

    血糖正常值范围 最新标准2022(血糖正常值范围) 血糖正常值范围通常是指空腹血糖值和餐后血糖值的范围。以下是通常被接受的血糖正常值范围: 空腹血糖值(空腹血糖):通常在早晨醒来后…

    投稿 2024年1月2日
  • 过期的盐还能吃吗 盐会过期吗

    日常生活中,食盐是必不可少的调料,做菜的时候一定是少不了食盐的,不过食盐也不能经常的放置不用。那么盐会过期吗?过期的盐还能吃吗?下面小编带来介绍。盐会过期吗盐会过期,但不会变质。大多数盐都没有保质期,因为它不会滋生细菌,除非受潮,但晾干后也一样可以用。少数盐有保质期,如含碘的盐,其保质期是碘…

    投稿 2023年12月16日
  • 加权平均分怎么算excel公式,加权平均分和绩点的关系

      加权平均分怎么算excel公式,加权平均分和绩点的关系是加权平均成绩是指每门成绩乘以它的权值比例后算出的平均成绩,算法为每门成绩乘以它的权值比例的。  关于加权平均分怎么算excel公式,加权平均分和绩点的关系以及加权平均分怎么算excel公式,加权平均分怎么算绩点,加权平均分和绩点的关系,…

    投稿 2023年11月26日
  • 吃莲子对肝脏有好处吗 清肝火 降肺火 强心清心火

    莲子,有益肾固精、补脾止泻、养心安神的功效。它含有一定量的碳水化合物、蛋白质、脂肪和维生素矿物质,还有很多水溶性的多糖含黄酮类物质,以及生物碱和超氧化物歧化酶等成分,提供我们人体所…

    2024年3月28日
  • 修复照片曝光不足的技巧【띲띪띺띧⣼】

    在摄影过程中,由于场景光线较弱或者设置不当,可能会导致照片出现整体偏暗、甚至曝光不足的情况。这时候,我们可以借助像素软件如Photoshop来进行修复。下面将介绍一些简单的修复技巧…

    投稿 2024年4月2日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注