阿里云mysql介绍

双11为MySQL带来了高并发场景的问题与挑战

洪峰般的并发
根据市场部部门的推广和引流、历年双11的经验,大促的起始时刻呈现接近90度上升趋势。在这么大访问流量下,所有的
核心链路的增删改查都是在数据库上操作,对数据库有比较大的冲击,在大量线程并发工作时线程调度工作过多、大量缓
存失效、资源竞争加剧、锁冲突严重,如果有复杂SQL或大事务的话还可能导致系统资源耗尽,整个数据库服务不可用,
进而导致大促收到影响,甚至失败,比如:下单失败、网页无法打开、无法支付等。此外此类场景也会发生在在线教育、
直播电商、在线协同办公等。

热点行更新
库存扣减场景是一个典型的热点问题,当多个用户去争抢扣减同一个商品的库存(对数据库来说,一个商品的库存就是数
据库内的一行记录),数据库内对同一行的更新由行锁来控制并发。当单线程(排队)去更新一行记录时,性能非常高,
但是当非常多的线程去并发更新一行记录时,整个数据库的性能会跌到趋近于零。

为解决以上挑战与问题,我们需要做系统调优,主要从六个方面进行:容量评估、性能评测、架构调优、实例调优、内核
调优和监控报警。

经验评估 单元压测 全链路检测

压测可以分为基准测试和仿真测试。对于MySQL而言,基准测试可以用sysbench或mysqlslap等

阿里巴巴集团及各BU每年压测4000+次,13年全链路发现700+问题,14年发现500+问题,15年发现400+问题。基于真
实业务场景的全链路压测,已成为每年双11前筹备核心工作之一。


如果业务的访问都用数据库支撑的话成本高昂,缓存可以代替一部分关系型数据库在读方面的请求。基于原理的设计以及
成本方面考虑,缓存的读性能比关系型数据库好,性价比较高。

posted @ 2021-05-08 16:37  谢凌  阅读(354)  评论(0编辑  收藏  举报