tomcat用JMeter压力测试大并发报错 Cannot get Jedis connection

 

1.用Jmeter测试100线程,系统正常,访问有点一慢而已

2.再Jmeter测试200线程,部分正常,部分报错 Cannot get Jedis connection,错误信息: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionExcep,如下图

 

 

 

3.网上查资料说修改redis连接JedisPoolConfig参数

redis.maxTotal=1000   原来是200改成1000 ,这个参数要大于请求线程并发数
redis.maxIdle=500    原来是50改成500

4.重启tomcat再次用Jmeter测试200线程 ,出现另外一个错,报 read time out 错:Read timed out; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out 如下图

 

 

 

5.再修改redis连接JedisConnectionFactory参数

redis.time0ut=30000     原来这个参数没有设置,系统默认是2000 (2秒) 改成30000(30秒)

6.重启tomcat再次用Jmeter测试200线程,测试正常,一边测试一边手动打开页面有点慢.

7.再测试500,800,1000线程,会有大量的请求失败,测试也没有意义了,一般来说如果单个tomcat并发数每秒超过200应该想办法Nginx用负载均衡来解决,

 

posted @ 2020-02-25 15:02  为乐而来  阅读(1819)  评论(0编辑  收藏  举报