从业务场景出发,测试这边要做几千人左右的并发测试。打算写一个连接池,涉及到了一个初始化链接,顺便测试一下最大的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));
0 个回复