每次请求都新建 HTTP 客户端,连接复用完全没生效

每次请求都 new 一个客户端,连接池就等于白建,每次都要重做握手,压测时差距很明显。

客户端全局只保留一个实例,底层连接池才能复用,用完不要关,进程退出时统一释放。

顺手把连接数和超时配上,默认值往往偏小,并发高时请求会堆在队列里干等。

// 全局单例,别在方法里 new
private static final HttpClient CLIENT = HttpClient.newBuilder()
    .connectTimeout(Duration.ofSeconds(3))
    .executor(Executors.newFixedThreadPool(8))
    .build();
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容