第一、影响mysql性能的几个方面:
1、服务器硬件;
2、服务器系统;
3、数据库存储引擎的选择;
4、数据库参数配置;
5、数据库结构设计和sql语句;
第二、CPU资源和可用内存大小:
2.1、如何选择CPU:
主频:2.5Ghz 核心数量:18核36线程,俩者之间选其一;
2.1.1、当我们的应用CPU密集型时:要想加快sql的执行速度我们要可好的CPU而不是更多的CPU,因为目前版本的nysql不支持多CPU对同一sql并发处理;
2.1.2、要查看系统的并发量:当我们的并发量大的时候,这时候的CPU的数量就比频率要更加的重要点;
2.2.3、还要看我们选择mysql的版本(推荐使用最新的mysql版本);
注意:在64位使用32位的服务器版本:意味着我们不使用大量的内存,任何一个进程存储都不能超过4G以上的内存;
2.2、内存:
在常用的mysql存储引擎中:
2.2.1、MyISAM:会将索引存储在内存,将数据通过OS(操作系统)来存储;
2.2.2、InnDB:同时将索引和数据同时存在内存中;
提示:内存虽然是越多越好,但是对性能影响有限,不能通过增加内存而并不能无限的增加性能;
在选择内存时:选择主板支持的最大内存频率;
第三、磁盘的配置和选择:
3.1、常用的磁盘IO的选择:
3.1.1、使用传统机器硬盘:
是我们最常见的,使用最多的,它的特点是:价格低,单体存储空间大,但是读、写比较慢;
读取数据过程:1、移动磁头到磁盘表面的正确位置;2、等待磁盘旋转,使得所需的数据再磁头之下;3、等待磁盘旋转过去,所有的数据都被磁头读出;
传统硬盘如何选择:1、存储容量;2、传输速度;3、访问时间;4、主轴转速;5、物理尺寸;
3.1.2、使用RAID增强传统机器硬盘的性能:
什么是RAID:其实是磁盘 冗余队列的简称,简单来说它的作用就是可以把多个容量较小的磁盘组成一组容量更大的磁盘,并提供数据冗余来保证数据完整性的技术;
RAID 0:最早出现的raid模式,也称之为数据条带,是组成磁盘陈列中最简单的一种形式,只需要2中以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。
RAID 1:RAID 1 通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据,在不影响性能情况下最大限度的保证系统的可靠性和可修复性。
RAID 5:RAID 5 是一种存储性能,数据安全和存储成本兼顾的存储解决方案,通过分布奇偶效验块把数据分散到多个磁盘上,这样任何一个盘数据失效,都可以从奇
偶效验块中重建。但是如果俩块磁盘都失效,则整个数据都不能恢复;(比较适合于:读服务器)
RAID 10:RAID 10有称分片镜像,它是对磁盘先做RAID 1 之后对俩组RAID 1 的磁盘在做RAID 0,所以对读写都有良好的性能,相对于RAID 5重建起来更简单,速度
也更快。