官方文档的第八章蛀牙讲述的mysql的性能优化。优化涉及到os或者server自身的参数配置,调优以及性能压测;维度可能是个别sql的优化,整个应用,单实例,多实例集群,可能是事先的优化,也有可能是问题发生后的对配置或者代码问题的troubleshoot。也能通过优化cpu和内存的用法来提升性能。
数据库性能影响的决定因素:比如表、查询、配置
软件引起的硬件层面cpu和io操作尽量最小化
源码调优,开发存储引擎插件
1.数据库层面的优化
- 要让数据库更快的,最重要的基本的数据库设计?
表结构是否恰当,尤其是字段的数据类型是否正确(最优),每个表是否设计合适的列,比如:更新频繁的表一般是拆分成多个表更新,有大数据量分析的表一般是要进行反范式设计的单表查询
- 有使查询有效的正确创建的索引吗?
- 表的存储引擎选择是否正确?
- 表使用的行格式合适吗?特别地,compressed格式能够节省磁盘空间减少读写带来的磁盘io
- 应用使用的锁策略合适吗?
- 缓存的设置大小合适吗?
2.硬件层面的优化
不管是什么数据库,当数据库越来越忙的时候,最终都难免会达到硬件的瓶颈,我们必须评估当前系统的容量瓶颈,是否能够通过系统调优或者配置调整来避免系统的瓶颈,或者说是需要扩充硬件资源来达到目的
- 磁盘扫描,机械硬盘低于10ms,优化手段,分布式分散磁盘io
- 磁盘读写,带宽大于10–20MB/s,多块磁盘并行读写
- cpu时钟周期
- 内存带宽
Balancing Portability and Performance 略
8.1 Optimization Overview
标签:数据库,概览,第一节,调优,io,磁盘,优化,cpu 来源: https://www.cnblogs.com/geek-ace/p/15127740.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。