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