架构:

nginx 1节点
注册中心 1节点
网关 2节点
账号服务 2节点
其他服务… 2节点

背景:

最近压测了api接口,发现默认的配置并发数较低,没有达到预期的目标。经过踩坑后,总结如下:

1.tomcat修改并发数(tomcat容器)
配置文件:server.xml

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               maxThreads="500"
               acceptCount="500"
               URIEncoding="UTF-8"    
               redirectPort="8443" />

tomcat默认的线程数是200
maxThreads:最大线程数
acceptCount:排队等待连接数

注:这里我设置单节点最大连接数是500,一般的小网站并发数也达不到这个量级;如果并发数很大可以集群解决。

2.zuul路由优化连接数(网关)

zuul.host.max-per-route-connections=200
zuul.host.max-total-connections=500

ribbon.MaxConnectionsPerHost=200
ribbon.MaxTotalConnections=500

在压测的时候发现,网关调用服务接口最大并发数一直都是50,踩坑后发现上述配置可以修改网关调用服务接口的连接数。

注:这个是网关调用各个服务的连接数配置

3.feign调用时最大并发线程数(服务)
#feign调用时最大并发线程数
hystrix.threadpool.default.coreSize=200
参数默认是10,也不是我预期的效果
注:这个是服务调用服务接口的连接数配置

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐