第一节 优化概览

官方文档的第八章蛀牙讲述的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

原文地址:https://www.cnblogs.com/geek-ace/p/15127740.html