We are measuring performance of PubSub with Lettuce client for redis.
We are getting latency below 5ms but we are stuck at throughput of 25k messages.
Is this the hard limit for throughput with lettuce client?
Our publish api does two things =>
```
commands.publish(event.eventKey, event).toScala
commands.set(event.eventKey, event)
```
here commands is RedisAsyncCommands
we are are measuring throughput & latency at subscriber side that is when subscriber receives event sent by publisher.
Our Setup is like this:
4 machines (2 Publishers + 2 Subscribers) => c4.xlarge ec2 instances (8GB RAM, 4vCPU)
1 machine for running single redis server => c4.xlarge ec2 instances (8GB RAM, 4vCPU)
We have measured this for multiple combinations
for ex.
1. 30 publisher's publishing at 1000 rate and 30 subscribers
2. 50 publisher's publishing at 1000 rate and 50 subscribers
3. 100 publisher's publishing at 1000 rate and 100 subscribers
4. 200 publisher's publishing at 1000 rate and 200 subscribers
In all the cases, throughput is around 24 to 28k messages/sec.
CPU usage and memory usage are minimal (less than 50%)