
对不少商家而言,双 11 销量往往是平时的N倍。
云数据库如何从容应对双 11 当日的流量高峰?
今天,特别邀请到 ApsaraDB 团队的大牛级人物玄惭和大家分享,结合历年双十一活动中云数据库保障经验,从弹性扩容、访问链路、架构设计、高可用配置、参数优化等五个方面详解讲解云数据库大流量峰值保障的最佳实践。
玄惭被誉为双 11 护航老司机。过去五年,他一直负责天猫双 11 项目的数据库运维,0 故障,0 丢单。
1、弹性扩容的两种方式
多数用户在双十一到来之前都会进行弹性扩容。

常见的弹性扩容分为两类:本机升降级和跨机升降级。
本机升降级的话,比较简单。举个栗子,一个 6G/6C 的 RDS 数据库想要升级到 12G/12C,如果本机资源足够,则可以在本机完成升降级,无需迁移到其他机器上。
另一种弹性扩容的方式是:。

当本机资源不足以支撑升级所需要的资源的时候,需要将实例分配到另外一台机器上。所以跨机升级需要使用数据库最近一次的备份和日志实时同步到新的主机上,保证新实例和旧实例的数据是完全一致的。
这里需要注意的坑是:如果历史备份集较大或原主库压力较大时,会导致跨机迁移时间较长。
那些老司机踩过的坑:
2、双 11 期间,如何让访问链路更安全?
在云数据库中,访问链路分为两种模式:高安全访问链路和标准访问链路。
双 11 期间,流量高的网站也会成为黑客的重点关注对象。所以建议商家提前采用高安全访问链路。
高安全访问链路在数据库的前面增加了一层代理层,所有请求在代理层都被解析,在解析过程中添加了 SQL 拦截规则,进而可以防止 SQL 注入的攻击。
此外,高安全访问链路可以防止 90% 的连接闪断;并支持内外网地址同时访问;对短连接应用具有缓冲防护作用。
需要注意的是高安全访问链路较标准链路增加了 5% 左右的响应时间。
那些老司机踩过的坑:
3、双 11 的架构如何设计?
在历年的双 11 中,由于业务流量的突增,那些平时没有暴露出来的问题往往在这个时候爆发出来,所以我们要把数据库这块地基打好,细节上做好,架构设计就需要我们在这些上下功夫。
读写分离是常见的架构设计手段。
RDS 支持只读节点,主库主要承担写和实时性要求高操作,一些复杂的分析计算业务操作最好不要放在主库上执行,而是选择放在只读节点运算。
使用读写分离架构时,首先数据库版本需要升级到 MySQL 5.6 版本;同时目前 RDS 最多可以支持到五个只读节点。
在读写分离时,延时是我们必须关注的重点,目前 RDS 上通过源码改进并行复制,提升复制性能,降低了主库与备库之间数据同步的延迟。
引擎选择是数据库设计中很基础的一点,这里重点介绍下 Tokudb 引擎。日志型应用的特性是:写操作很高、读操作相对较少。Tokudb 引擎压缩比 Innodb 引擎高出 5~7 倍,适合写多读少的应用;同时,Tokudb 引擎 online ddl 速度较快,适合表很大需要经常 DDL 操作的应用。
对于大字段,数据库的更新写入压力过大,update、insert、delete 会导致 binlog 日志急剧增加,导致实例磁盘报警。因此在数据库设计时,要注意规避大字段引起的问题。常见的大字段有 varchar(8000)、text、blob、clob(sqlserver/mysql),使用时建议将大字段拆分出主表或者存入到其他存储系统中。
字段类型也是常见的问题之一。在设计开发阶段,就要避免数据库字段定义与应用程序参数定义不一致的情况。
字段大小同样会对数据库性能造成影响。字段长度超过索引允许的最大长度会导致索引字段被截断;同时,过长的字段定义会消耗大量的排序内存以及临时表空间。
索引设计也是大家经常犯错的一个点,在历年双十一保障中,索引出现的问题最多。
这里,重点讲解单条SQL的创建索引思路,常见的索引误区包括但不限于:
4、双 11 的高可用配置如何搞?
RDS 本身是一个主备的高可用架构,当主库 Down 后,会快速切换到备库。在高可用架构中很重要的一点是数据同步,保障主备数据一致不丢失。
常见的高可用配置包括:
此外,为了保障服务高可用,也可以采用多可用区配置,即主备在不同可用区,此时,应用同样需要多可用区部署。需要注意 Binlog 在主备的同步模式,通常这种情况下开启半同步模式跨可用区访问,可能导致写入性能下降。
另外,还有一种跨数据中心的灾备方案,在历年的双 11 中,已经有很多用户实施过这样的方案,你可以选择在两个不同的数据中心部署数据库和应用,比如在杭州和上海两个地区部署,两个数据中心的数据同步采用 DTS,以保证一个数据中心挂掉后,另外一个数据中心能够接管起来。
此外,从 2015 年起,RDS 为天猫的商家后台数据库提供了异地灾备的功能。当主机房出现较大的负载压力、断网、断电等极端情况,RDS 可将商家的后台系统在 30 分钟内切换至灾备机房继续运行,以保障总体可靠性,进一步确保平台大型品牌商家双 11 期间后台系统安全、稳定。
5、针对双 11,如何做参数优化?
在 RDS 中,大部分参数是已经经过调优的,因此很多参数是不需要再去调整的。
但是用户可以根据应用场景的不同选择合适的参数,这里重点看下 RDS 新增的四个参数优化:
看完了“玄惭大师”的经验分享, 那么,你对大流量峰值下保障云数据库有什么好的经验可以分享吗?
双十一准备买显卡,求大神告诉该买什么显卡
你如果是R7 260X就不用换了,因为换再高也没什么意义,你CPU就那样。 而且 R7 260X=GTX750TI,你自己对比你显卡看吧。 你如果预算比较多,可以考虑换个CPU到I5 然后买个960的显卡,然后换个电源,然后买个内存,可能要3500左右。 如果3000以内,可以考虑换成I3然后买个GTX950,然后看电源够不够,然后买个内存。
救命啊!vx989+ 数据错误(循环冗余检查)问题!!在线等!
第一种可能系统有病毒,感染了,导致无法断开连接解决办法:格式化小九,并用论坛里的免疫工具免疫如果格式化以后还是不行,那就是系统的事情了,试试其他的U盘,MP3有没有这个问题,如果有最简单的方法就从做下系统吧,如果你有GHOST备份就恢复下!第二种可能是有播放器自动播放功能的插件在运行1检查电脑上的播放器软件是否开着,关闭,用优化大师把自动播放功能去掉!第三种可能就是机子的FLASH 闪存有问题了,有坏块,不过很少有新机子会出现这个问题!如果是的话,哪么你就只能换新的了!根据我的经验基本上就是这几种可能了!主要是电脑系统的问题!
BUG的LOG软件是什么意思?在那里可以下载到这个软件?急~~
微软的win2000.2003.2008服务器版中都带了一个终端服务Terminal Service,这个服务基于远程桌面协议RDP,速度非常快,也很稳定,是一个比较好的远程管理软件。 虽然这个终端服务即Terminal Service自己是有日志功能,但功能太简单,不容易监测。 而Terminal Services Log为每个用户连接到Microsoft Windows终端服务或Citrix Presentation服务器进行记录。 它主要进行的数据捕获:连接开始(日期和时间)用户时间空闲时间活动时间断开服务器时间连线结束(日期和时间)身份权限特征分析数据Terminal Services Log捕获的数据每分钟捕获到Access数据库,然后进行了分析。 如你所知用户会话状态的变化,每一分钟都可以侦测下载地址:
发表评论