spring数据redis/s性能降低

41zrol4v  于 2021-06-10  发布在  Redis
关注(0)|答案(0)|浏览(261)

我用springboot1.5.9、springdataredis1.8.9和莴苣4.5.0.final开发了一个应用程序。redis服务器版本是6.0.5,我在我的机器上做了记录(40kb)插入的性能基准测试,每秒插入2857条记录。
我将应用程序升级到springboot2.3.1、springdataredis2.3.1和莴苣5.3.1.final。redis服务器版本为6.0.5。我没有更改代码来创建连接。刚升级了Spring Boot。现在当我做基准测试时,性能降低了很多。i、 例如,每秒插入1000条记录(相同40kb)。
迁移到最新版本后,我们是否需要更改配置?
请参阅下面的代码以创建连接工厂:

@Bean
public LettuceConnectionFactory lettuceConnectionFactory()
{
    return new LettuceConnectionFactory(hostName, port);
}

@Bean
public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory lettuceConnectionFactory) 
{
    RedisTemplate<String, Object> template = new RedisTemplate<>();
    template.setConnectionFactory(lettuceConnectionFactory);
    return template;
}

=============更新了问题
下面是用于对插入进行基准测试的代码

long startTime = System.currentTimeMillis();
    Arrays.stream(persons).forEach(person -> {
        try {
            personRepository.save(person);
        } catch (Exception e)
        {
            log.error("Error is ", e);
        }
    });
    long timeElapsed = System.currentTimeMillis() - startTime;
    calculateThroughput(timeElapsed);

其中,persons是person对象的数组。吞吐量计算如下

private void calculateThroughput(long timeElapsed)
    {
        long timeElapsedInSeconds = timeElapsed/1000;
        long recPerSec = noOfRecords/timeElapsedInSeconds;
        log.warn("It took {} milliseconds to persist {} number of records. i.e. {} records per second",
                timeElapsed, noOfRecords, recPerSec);
    }

注意,在迁移到最新的spring boot之后,我并没有更改上面的内容

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题