-
-
Notifications
You must be signed in to change notification settings - Fork 10.2k
Closed
Description
你的特性请求和某个问题有关吗?请描述
- 当前 portal 服务发现 调用Admin服务的时候,使用的是RestTemplate的连接池使用是默认的参数,默认是每个路由2,最大连接数20
RestTemplateFactory - 在公司内部对 Apollo OpenAPI的接口 修改配置接口 和 发布配置接口 进行压测时,发现最大QPS只有200,但是CPU和线程还都比较空闲,使用Arthas查看所有的线程都卡在获取HTTP连接上,通过增加RestTemplate 的 connectionManager的MaxTotal(最大连接数) 和 MaxPerRoute(每个路由的连接大小)的大小解决并发问题
清晰简洁地描述一下你希望的解决方案
希望 Portal 模块 支持配置 RestTemplate 的 connectionManager的MaxTotal(最大连接数) 和 MaxPerRoute(每个路由的连接大小)
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
connectionManager.setMaxTotal(portalConfig.connectPoolMaxTotal()); //最大连接数
connectionManager.setDefaultMaxPerRoute(portalConfig.connectPoolMaxPerRoute()); //每个路由(域名)最大连接数
在 PortalConfig 新增配置属性
public int connectPoolMaxTotal() {
return getIntProperty("api.pool.max.total", 200);
}
public int connectPoolMaxPerRoute() {
return getIntProperty("api.pool.max.per.route", 20);
}
清晰简洁地描述一下这个特性的备选方案
无
其它背景
在这里添加和这个特性请求有关的背景说明、截图
Metadata
Metadata
Assignees
Labels
No labels