一.优化的哲学
1.为什么要优化
为了获得成就感?
为了证实比系统设计者更懂数据库?
为了从优化成果来证实优化者更有价值?
但通常事实证实的结果往往会和您期待相反!
优化有风险,涉足需谨慎!
2.优化风险
优化不总是对一个单纯的环境进行!还很可能是一个复杂的已投产的系统。
优化手段本来就有很大的风险,只不过你没能力意识到和预见到!
任何的技术可以解决一个问题,但必然存在带来一个问题的风险!
对于优化来说解决问题而带来的问题控制在可接受的范围内才是有成果。
保持现状或出现更差的情况都是失败!
稳定性和业务可持续性通常比性能更重要!
优化不可避免涉及到变更,变更就有风险!
优化使性能变好,维持和变差是等概率事件!
优化不能只是数据库管理员担当风险,但会所有的人分享优化成果!
所以优化工作是由业务需要驱使的!!!
3.谁来参与
DBA:
数据库管理员
DEV:
业务部门代表
应用程序架构师
应用程序设计人员
应用程序开发人员
SA:
硬件及系统管理员
存储管理员
4.优化方向
安全优化(业务持续性)
性能优化(业务高效性)
5.优化的范围及思路
01.优化范围:
存储、主机和操作系统
主机架构稳定性
I/O规划及配置
Swap
os内核参数
网络问题
02.应用程序:(index、lock、sesslon)
应用程序稳定性和性能
SQL语句性能
串行访问资源
性能欠佳会话管理
03.数据库优化:(内存、数据库设计、参数)
内存
数据库结构(物理&逻辑)
实例配置
优化效果和成本的评估:
图片.png
6.优化框架
硬件(主机,存储,网络。。)---> os----->文件系统-----> 数据库实例(线程,会话,内存)----->逻辑结构优化----->SQL(DDL,DML,DCL,DQL,索引)----->架构(高可用,读写分离,分布式,业务分离)
二.化工具的使用
1.os(cpu,MEM,IO(磁盘,网络))
01.CPu:
三.优化思路分解说明
四.MySQL参数优化测试
五.锁的监控及优化
六.主从优化
网友评论