《数据库上云经典案例分析(35页).pdf》由会员分享,可在线阅读,更多相关《数据库上云经典案例分析(35页).pdf(35页珍藏版)》请在三个皮匠报告上搜索。
1、玄惭阿里云技术专家数据库上云经典案例分析自我介绍玄惭花名出自天龙八部2012年加入阿里云RDS负责RDS线上的稳定历年RDS双11的负责人目前负责RDS专家服务案例一:一个参数引发的“血案”案例二:上云版本升级带来性能下降案例三:数据库上云后性能下降紧急救援案例四:去“O”上云的护航的故事案例五:网络延迟造成的性能下降目 录content背景介绍1、某客户正在将本地的业务系统迁移上云2、在RDS上运行时间明显要比线下自建数据库运行时间要慢 1 倍3、导致客户系统割接延期的风险经验分析1、数据库跨平台迁移(PG-MySQL、ORALCE-MySQL)2、跨版本升级(MySQL:5.1-5.5、5
2、.5-5.6)3、执行计划,优化器,参数配置,硬件配置4、网络延迟(跨可用区访问,公网延迟,网卡跑满)优化器版本OPTIMIZER_SWITCH:index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materializa
3、tion=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on用户5.6.25,RDS的版本5.6.1.xxSQL执行计划rows=39900*1*1*140*285*1*1*1*1*1*1*1参数配置用户配置:join_buffer_size=128Mread_rnd_buffer_size=128Mtmp_table_size=128MRDS配置join_buffer_size=1Mread_buffer_size=1Mtmp_tabl
4、e_size=256K测试验证tmp_table_size由256K调整至128MB 查看SQL执行计划;查看数据库版本和优化器规则;对比参数,硬件设置;查看网络延迟;排查思路:保持数据库参数配置一致最佳实践:案例一:一个参数引发的“血案”案例二:上云版本升级带来性能下降案例三:数据库上云后性能下降紧急救援案例四:去“O”上云的护航的故事案例五:网络延迟造成的性能下降目 录content背景介绍1、某手机客户端上云2、第一次系统切割失败,数据库CPU 100%3、需要在第二次割接前排除原因问题排除-跨版本升级(MySQL:5.5-5.6)用户本地的mysql版本是5.5,而RDS的版本是5.6
5、,用户的一条sql在本地5.5执行只需要零点几秒,而在RDS上需要10多秒。1)5.5的优化器策略:index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on2)5.6的优化器策略:index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,b
6、lock_nested_loop=on.optimizer_switch:block_nested_loop=onmysql explain SELECT*-FROM t1 this_ -LEFT OUTER JOIN t2 item2_ ON this_.itemId=gameitem2_.id-LEFT OUTER JOIN t3 group3_ ON gameitem2_.groupId=gamegroup3_.id.-LEFT OUTER JOIN t8 leagueitem10_ ON leagueinfo7_.itemId=leagueitem10_.id-ORDER BY thi