java 问题:本地环境压测2000并发 throughput 只有73/sec ,avg 22s;
项目:gateway 网关,使用springcloud相关组
机器配置:16g内存,处理器12th Gen Intel(R) Core(TM) i7-12700 2.10 GHz;
通过相关工具,定位到主要耗时在于 两部分:
1.redis 的RedisSerializer.deserialize(byte[ ])--这个是自定义方法
反序列化使用的是RedisSerializer<Object> valueSerializer = RedisSerializer.java()
2.org.springframework.data.redis.connection.RedisConnection.get(byte[ ])
java
redis 集成是用的redisson-spring-boot-starter,配置如下:
spring.redis.redisson.config.threads= 500
spring.redis.redisson.config.nettyThreads= 500
spring.redis.redisson.singleServerConfig.connectionMinimumIdleSize=100
spring.redis.redisson.singleServerConfig.connectionPoolSize=500
spring.redis.redisson.singleServerConfig.idleConnectionTimeout=20000
spring.redis.redisson.singleServerConfig.connectTimeout=5000
spring.redis.redisson.singleServerConfig.timeout=1000
spring.redis.redisson.singleServerConfig.retryAttempts=4
spring.redis.redisson.singleServerConfig.retryInterval=1000
redis 客户端查看命令执行延迟正常;这种情况下如何去定位问题,以及怎样优化?