1

I wrote a sample WebFlux application, which read just some data from redis and do small cpu job(md5 calculation), repeats several time.

It use spring data redis reactive

'org.springframework.boot:spring-boot-starter-data-redis-reactive'

Codes that connects redis is like this.

 reactiveStringRedisTemplate.opsForValue().get(keyname)

redis server runs at localhost

redis-server &

Full codes , you can find here

https://github.com/mouse500/redperf

It's a simple codes

And for test, I call API (/wredis) with Jmeter to loadtest


Problem that I think is...

this application doesn't reach maximum TPS,

It reaches CPU around 40% on my local PC.

Even though it has more room of CPU, it doesn't work any harder

Why doesn't it use resource fully?


In case of some other method to connect redis,

(I put connection proxy ,written in nodejs)

It showed much much higher CPU and got much more TPS.

So I don't think it is not about Redis server performance.

Problem seems issue at "calling Redis from WebFlux application with lettuce"


How can I make this sample application show a maximum TPS ( CPU reach 100%) ?

What option can I try?

mouse500
  • 41
  • 4

0 Answers0