即使是不成熟的尝试,也胜于胎死腹中的策略。

关于linux系统与restclient数量的问题!

Elasticsearch | 作者 solike8 | 发布于2020年05月22日 | 阅读数:1740

从业务场景出发,测试这边要做几千人左右的并发测试。打算写一个连接池,涉及到了一个初始化链接,顺便测试一下最大的restclient连接数量,但是自己写了一个测试代码,调了很多配置都没有用。而且在不同的机器上用相同的设置创建的最大链接数也不一样。64核服务器上值创建了365个链接就挂了,个人pc机(ubuntu)创建了2164个链接,在国产32核的小机器上创建664个链接。
 
long start = System.currentTimeMillis();
for(int i=0;i<100000;i++){
RestClientBuilder builder = RestClient.builder(new HttpHost("192.168.40.13", 9200, "http"))
.setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() {
@Override
public RequestConfig.Builder customizeRequestConfig(RequestConfig.Builder requestConfigBuilder) {
requestConfigBuilder.setConnectTimeout(50000);
return requestConfigBuilder;
}
}).setMaxRetryTimeoutMillis(5*60*1000);
RestHighLevelClient client = new RestHighLevelClient(builder);
boolean response = client.ping();
System.out.println("ping response: " + response);
System.out.println(i);
}
long end = System.currentTimeMillis();
System.out.println("耗时(ms):"+(end-start));
已邀请:

要回复问题请先登录注册