Quarkus Rest服务默认最大客户端连接数及连接数校验方法
Quarkus服务端连接相关问题解答
问题1:如何校验服务端是否可支持最高20个客户端连接
你可以通过以下三种方式验证:
- 操作系统层面实时统计
直接统计和服务端建立的活跃TCP连接,替换命令中的<服务端口>为你的Quarkus服务实际监听端口后执行:ss -tan state established '( dport = :<服务端口> )' | wc -l
命令输出的数值即为当前活跃的客户端连接总数。 - 服务指标查询
如果你的服务集成了quarkus-smallrye-metrics依赖,可直接从Metrics端点获取内置的HTTP连接统计指标:http.server.connections.active,该指标会实时更新当前服务端持有的客户端连接数。 - 压测验证
使用wrk、JMeter、ab等压测工具,设置20并发持续请求服务接口,观察压测过程中是否出现连接被拒绝、服务报错、响应超时等异常,同时配合上述连接数统计方式,确认20个连接可以同时正常建立并完成请求处理。
注意:如果你的服务前端部署了Nginx、负载均衡等中间代理,需要同时确认代理层的最大连接配置是否大于等于20,避免瓶颈出现在中间层。
问题2:Quarkus默认允许的最大客户端连接数
Quarkus底层基于Vert.x HTTP服务器对外提供HTTP服务,服务端最大客户端连接数由配置项quarkus.http.limits.max-connections控制,该配置的默认值为-1,代表不设置硬连接上限,实际最大可支撑的连接数受限于服务所在操作系统的文件句柄上限、进程可用内存/CPU等系统层面限制。
如果需要主动设置服务端连接上限,可直接在application.properties中添加对应配置即可,示例:quarkus.http.limits.max-connections=100
内容的提问来源于stack exchange,提问作者AVM
相关产品推荐
相关产品推荐

