欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

学会用数据说话-分布式锁究竟可以多少并发?

程序员文章站 2022-04-16 10:24:30
程序员萌萌在浏览关于分布式锁的文章,突然下面的话引起了萌萌的注意: 在锁操作的客户端打日志 获取锁: T13:31:51.230redisname-lock:hsetnx E13:31:51.230GetConnection10.X.X.X T13:31:51.231redisname-lock:h ......
程序员萌萌在浏览关于分布式锁的文章,突然下面的话引起了萌萌的注意:
 
学会用数据说话-分布式锁究竟可以多少并发?
 
学会用数据说话-分布式锁究竟可以多少并发?
 
学会用数据说话-分布式锁究竟可以多少并发?

在锁操作的客户端打日志

获取锁:

T13:31:51.230redisname-lock:hsetnx

E13:31:51.230GetConnection10.X.X.X

T13:31:51.231redisname-lock:hsetnx

设置超时时间:

T13:31:51.230redisname-lock:hsetnx

E13:31:51.230GetConnection10.X.X.X

T13:31:51.231redisname-lock:hsetnx

释放锁:

T13:31:51.230redisname-unlock:hsetnx

E13:31:51.230GetConnection10.X.X.X

T13:31:51.231redisname-unlock:hsetnx

从上面数据可以看到一个正常分布式锁操作,操作时间在1ms,因为是从客户端获取的,因为粒度只能是毫秒级。再从服务端看看是什么情况。

 
学会用数据说话-分布式锁究竟可以多少并发?
 
学会用数据说话-分布式锁究竟可以多少并发?

上面显示了大于1ms的慢查询情况,可以看到每秒几百个的QPS不会造成分布式锁本身的慢查询。耗时超过1ms的都是集群操作,分布式锁的lock和unlock操作时间都是us级。

    如果lock和unlock中间没有任何逻辑的理想情况下,同一个锁可以支持每秒:

   1000ms/ (1ms的lock+1ms的设置超时+1ms的unlock)=333(个)

结论

分布式锁本身lock和unlock耗时是us级,在理想情况下大概可支持每秒1000个原子操作,300多个从分配到释放流程结束。

 
学会用数据说话-分布式锁究竟可以多少并发?

举个栗子

(0)
打赏 学会用数据说话-分布式锁究竟可以多少并发? 微信扫一扫

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

学会用数据说话-分布式锁究竟可以多少并发?
验证码: 学会用数据说话-分布式锁究竟可以多少并发?