tps(系统吞吐量,每秒事务处理量)
总结
请求排队:如果请求一股脑的涌入数据库,势必会由于争抢资源造成性能下降,通过排队,让请求从混沌到有序,从而避免数据库在协调大量请求时过载。
请求合并:甲买了一个商品,乙也买了同一个商品,与其把甲乙当做当做单独的请求分别执行一次商品库存减一的操作,不如把他们合并后统一执行一次商品库存减二的操作,请求合并的越多,效率提升的就越大。
秒杀优化
优化1,更快速的序列化工具
将秒杀信息用redis缓存起来,redis并没有实现内部序列化,所以存对象需要实现序列化
如果使用默认类实现jdk的serializable 效率比较低 所以我们要选写高性能的序列化工具
https://github.com/eishay/jvm-serializers/wiki (这个是对Java 序列化技术做了比对)
用protostuff 首先引入两个包
优化2, 防重优化
优化
insert 用订单和用户电话号做唯一主键,可以防重
优化3, 利用存储过程优化
我们知道 mysql 在执行本地主键sql 非常快 可以达到(4万/秒 的qps) Java执行代码也非常快,所以减库存的瓶颈主要出现在网络延迟和 GC的暂停(stop the word)
减少网路连接我们可以使用存储过程
在Java代码中调用存储过程
配置mapper 利用mybatis 调用存储过程是一个select
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦