前言:影响MySql性能有很多,下面讲解下服务器硬件对MySql的影响。
服务器硬件大概有:CPU、内存、网路、I/O子系统
首先说下CPU的选择。
CPU
- 64位的CPU一定要工作在64位的系统下
- 对于并发比较高的从场景CPU的数量比频率更重要
- 对于CPU密集型场景和复杂的SQL则评率越高越好
注:其实一定要注意第一点,现在普遍CPU都是64位的,但是我们的操作系统,一定要注意不要安装32位的。这也是个坑。
内存
- 选择主板所能使用的最高评率的内存
- 内存的大小对性能很重要,所以尽可能选择大的
注:内存这里没什么可说的,平时玩过游戏组装台式电脑的都懂。内存怎么选择。内存大可以把多次写的操作变成一次,这是提高了性能。
I/O子系统
PCIe->SSD->Raid10->磁盘->SAN
注:这里面就简单说下Raid,简单来说Raid就是把多个较小的磁盘组装成一个更大的磁盘,并且提供申数据冗余来保证数据完整性的技术。
以下是RAID级别的选择
网路
- 采用高性能和高带宽的网路接口设备和交换机
- 对多个网卡进行绑定,增强可用性和带宽
- 尽可能的进行网络隔离
注:网络存储分为SAN和NAS。
SAN通过光纤连接到服务器,服务器可以将其作为硬盘使用,大量顺序读写
NAS通过基于文件的协议如NFS/SMB进行访问,可能会有网络传输延迟
网路存储还是不太建议的,因为很多不稳定因素要处理。建议存储数据库的备份文件即可。