mysql设计规范之性能优化

 性能优化 – 综合
理解业务,切合业务特点的优化效果最好
业务规划,容量预估,建立基线模型
压测数据采集,预留峰值
尽一切努力减少IO(磁盘、网络)
转变随机IO为顺序IO
努力提高内存利用率
上线前做好评估审核

性能优化 – 架构设计
保持优雅:越小越好,单库100G内
垂直拆分:按功能
水平拆分:按key哈希
单实例下数据表数量不高于1024
单表数据量尽量不高于1000万
主库写,从库只读、统计、汇总
前端做好一切cache

性能优化 – 硬件
NUMA架构,CPU直接和内存打交道
CPU不再是瓶颈,MySQL多核支持不佳
设备越来越廉价,大内存解决很多问题
SSD应用越来越广泛,未来是主力
RAID卡可有效提升IOPS及数据安全
RAID卡必须配备BBU,FORCE WB
RIAD卡的条带设置有讲究
FushionIO还是贵族

性能优化 – 系统
升级到64位
内核
IO调度:deadline,noop
VM管理:vm.swappiness=0
文件系统:xfs、ext4
全B+树,高效
分配组,提高并发度
延迟分配,减少IO
mount:nobarrier、data=ordered,writeback
加大请求队列:nr_requests
关闭NUMA

性能优化 – MySQL
化繁为简
读写分离
加大内存分配
创建合适的索引
减少锁,提高并发
合并随机IO为顺序IO
柔风细雨优于狂风暴雨
多次批量提交优于频繁提交
使用XtraDB 或 MySQL 5.5+

性能优化 – 调优工具
systemtap
sar
gdb
gcore
oprofile
pmp (Poor Man's Profiler)
dstat

性能优化 – 误区
分配内存越多越好,可能导致OS Swap
session级内存分配过大,导致OOM
索引越多越好,可能导致更多IO
Qcache设置过大,实际效果差
人云亦云,不自己动手实践
 

转载于:https://my.oschina.net/luoyedao/blog/687525

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值