废话不多说,先列出几个关键的配置
server:
tomcat:
max-threads: 2000
ribbon:
MaxConnectionsPerHost: 2000
MaxTotalConnections: 10000
首先在服务中加个接口,接口中线程等待3秒,用于测试
@RequestMapping(value = "sleep")
public String sleep(){
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "hello sleep";
}
用JMeter测试发现接口经过zuul并发数只有50,在zuul服务中添加下面的配置
单个host最大连接数和总连接数
ribbon:
MaxConnectionsPerHost: 2000
MaxTotalConnections: 10000
这时候再次测试发现并发数到了200,但是远远没到我们设置的2000,在zuul服务中添加下面配置:
tomcat处理最大线程数2000,这些配置都只添加在了zuul服务中,发现还是不起作用并发数还是200。原因是我们测试的服务中也需要添加同样的如下配置。再次测试发现并发到了设置的2000。
server:
tomcat:
max-threads: 2000