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用負載均衡來解決,