Mysql系列(十四)—Msql之性能调优

性能调优此次讨论不包含数据库sql本身的调优,更多偏向环境以及参数设置,具体包含一下几个层面:

  1. 选择合适的CPU
  2. 内存的重要性
  3. 硬盘对数据库性能的影响
  4. 合理的设置RAID

选择合适的CPU

首先要明确数据库的应用类型,一般分为两大类,OLTP(在线事务处理)、OLAP(在线分析处理)。Innodb存储引擎一般都应用于OLTP的数据库应用,这种应用的特点如下:

  • 用户操作的并发量大
  • 事务处理的时间一般较短
  • 查询的语句比较简单,一般都走索引
  • 复杂查询较少

可以看出OLTP本身对CPU的要求并不是很高,因为复杂的查询可能需要执行比较、排序、连接等非常消耗CPU的操作,这些操作在OLTP的数据库应用中很少发生。可以说OLAP是CPU密集型的操作,而OLTP是IO密集型的操作。若CPU是多核,那么可以通过参数innodb_read_io_threads和innodb_write_io_threads来增大IO的线程,这样也能更充分的利用CPU的多核性能。

内存的重要性

如下图:数据和索引总大小为18GB,然后将缓冲池的大小分别设为2、4、6、8、10、12、14、16、18、20、22GB。可以发现,随着缓冲池的增大,测试结果TPS会线性增长。当缓冲池增大到20GB和22GB时,数据库的性能有了极大的提高,因为这时所有的数据都可以放在缓冲池中,所有的操作都在内存中进行的。

            

硬盘对数据库性能的影响

传统的机械硬盘由于其设计的原理,使得顺序访问的速度要远高于随机访问。传统数据库的很多设计都充分的利用了顺序访问的特性。固态硬盘提高了很高的IOPS特性,有着超高的随机读取性能,可以提高数据库的整体性能。

合理的设置RAID

通过合理的设置RAID(独立磁盘冗余数组)也可以提高访问的性能。基本思想就是把多个相对便宜的硬盘组合起来,成为一个磁盘数组,使其性能达到甚至超过一个价格昂贵、容量巨大的硬盘。根据不同磁盘的组合方式,常见RAID的组合方式分为RAID0、RAID1、RAID5、RAID10、RAID50.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值