问答

spring boot 2 redis并发访问慢

作者:admin 2021-10-13 我要评论

问题描述 spring boot 2 redis并发访问慢 我通过如下代码,来统计访问redis的时间:(这是一个web服务中的部分代码) StopWatch stopWatch = new StopWatch(); st...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

问题描述

spring boot 2 redis并发访问慢

我通过如下代码,来统计访问redis的时间:(这是一个web服务中的部分代码)

StopWatch stopWatch = new StopWatch();  
stopWatch.start();  
redisTemplate.opsForValue().get(key)redisTemplate.opsForValue().get(key)  
stopWatch.stop();  
logger.info(stopWatch.prettyPrint());

我的spring boot application配置如下:

spring.redis.host=127.0.0.1  
spring.redis.port=6379  
spring.redis.database=0  
spring.redis.timeout=100000

当我测试的时候,使用如下代码:

for (int i = 0; i < 100; i++) {  
    Thread.sleep(50);  
    executorService.execute(new Runnable() {  
    @Override  
    public void run() {  
        test();   //访问web接口
        }  
    });  
}

在sleep 50毫秒的时候,打印的日志,消耗时间都在0~1ms

running time (millis) = 1

但是当我修改为sleep 5毫秒时,running time的时间出现了明显提高,大部分在0~15ms,少部分在40ms左右

for (int i = 0; i < 100; i++) {  
    Thread.sleep(5);  // 修改这
    executorService.execute(new Runnable() {  
    @Override  
    public void run() {  
        test();  // 访问web
        }  
    });  
}

据我所知redis不应该因为100个并发就出现性能下降,观察redis的slowlog执行时间也在1~0ms内,所以问题到底出现在哪?我该如何继续排查解决这个问题

###

把访问redis的事件去掉,看一下。感觉应该是建立redis连接的耗时。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • spring boot 2 redis并发访问慢

    spring boot 2 redis并发访问慢

  • 个人信息管理系统的功能需求。

    个人信息管理系统的功能需求。

  • pgsql 想把select 出来的指赋值给一个

    pgsql 想把select 出来的指赋值给一个

  • postgre drop table   根据表名 模糊删

    postgre drop table 根据表名 模糊删

腾讯云代理商
海外云服务器