CPU
MySQL不支持多CPU对同一SQL处理(更快的CPU)
衡量数据库处理能力的指标
QPS:每秒同时处理SQL的数量
不要使用32位操作系统
内存
越多越好,但在增加有限
当内存的容量大于文件的大小时,再增加也无法提升数据库的性能
MyISAM将索引存入内存,数据通过操作系统缓存
Innodb将索引和数据都放入内存缓冲
缓存对写入的易处
可以将多次小的写入存入内存缓存再合并成一次写入
选择内存时选择主板支持的最大内存
磁盘
传统机器硬盘
磁盘的读取速度=访问时间+传输时间
四大因素
- 存储容量
- 传输速度
- 访问时间
- 主轴转速
- 物理尺寸
使用RAID增加磁盘的性能
RAID(磁盘冗余队列的简称)
把多个容量较小的磁盘组成一个容量更大的磁盘,并提供数据冗余来保证数据的完整性的技术
RAID0
将几个磁盘串联在一起,没有提供冗余或错误修复能力,但是实现成本最低
RAID1
称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,在不影响性能情况下最大限度的保证系统的可靠性和可修复性
适合存放日志等工作
RAID5
分布式奇偶校验磁盘阵列
适合于以读为主的业务
RAID10
对磁盘先做RAID1之后对两组RAID1的磁盘在做RAID0,所以对读写都有良好的性能,相对于RAID5重建起来更简单,速度也更快。
固态存储(闪存)
可擦除的只读存储器
具有更好的随机读写性能和更好的支持并发
但比机械磁盘固态磁盘更容易损坏
SSD
特点
1.使用SATA接口,可以替换传统磁盘而不需要任何改变
2.SARA接口的SSD同样支持RAID技术
PCIE卡(Fusin-IO)
特点
1.无法使用SATA接口,需要独特的驱动配置
2.价格相对于SSD要贵,但是性能比SSD更好
固态存储的使用场景
适用于存在大量随机I/O的场景
使用于解决单线程负载的I/O瓶颈
网络存储SAN和NAS
SAN设备通过光纤连接到服务器,设备通过块接口访问,服务器可以将其当做硬盘使用。
可以承受大量顺序读写,但随机读取效率差
NAS设备使用网络连接,通过基于文件的协议如NFS或SMB来访问
所适用的场景
数据库备份