DEV Community

Cover image for [Redis Hackathon Submission - Distributed lock performance]
poojave
poojave

Posted on

[Redis Hackathon Submission - Distributed lock performance]

Overview of My Submission

Submission Category: Wacky Wildcards

[Optional: Video Explainer of My Project]

https://drive.google.com/file/d/1m27xAuTyrT3qgHy5JRAyhhrS0pBODqJc/view?usp=sharing

Language Used

Java/Spring Boot/Redis

Link to Code

https://github.com/poojave/redis-hackathon

BTW, your Github code’s README file should contain the details as per this template.

Additional Resources / Info

Properties of distributed locks
1. Fault tolerant - Distributed lock manager
2. Deadlock free - TTL
3. Mutually exclusive - Unique locking number

[Note:] # Screenshots/demo videos are encouraged!

Image description
Image description

Image description

Inferences:
Image description

Machine details:
RAM - 16 GB
MacBook Pro M1
Storage - 250 GB

  1. >500 worker threads were involved for 10K tasks.
  2. Redis only used 4.5 MB out of total space 30MB. But why? I need to further investigate it.
  3. It only scaled to max 137 keys at a time
  4. It took 50 mins approx to complete the process for 10K tasks
  5. The 50 mins could be less If the keys creation would have scaled & Redis memory used could have much.
  6. When the write/sec scaled, we have observed latency in writes to some extent. This seems unacceptable on a broad level.
  7. One good things is when we increased the tasks to 10 times the total completion time goes 3 times only. It shows it is scalable for large application.
  8. In future would run the experiement with Cockroach DB and Cassandra too to compare further.

Open source tools used or Reference:

[Note:] # (https://github.com/liliumbosniacum/redis)

Collaborators


Top comments (0)