cpu、内存大小
更多的cpu还是更快的cpu
1. 应用是不是cpu密集型 是 --更好的cpu
2. 系统并发量??? 大 --cpu越多越好
3. web应用 cpu数量越多越好
3. mysql版本 新版本 多cpu 老版本 好cpu
4. 64位机器 使用32位的操作系统
存储引擎
myisam 索引在内存中 数据通过os缓存
innodb 索引和数据均在内存中
内存大小超过数据大小,继续增大内存,对性能影响不大
5. 内存的主频和cpu的主频相似。内存条要使用相同品牌,颗粒频率、电压、校验技术和型号相同的,单条内存尽可能大
磁盘
传统磁盘
价格低,存储空间大,读写慢
传统磁盘读取数据的过程
1. 移动到磁盘表面的正确位置
2. 等待磁盘旋转,使所需的数据在磁头之下
3. 等待磁盘旋转过去,所有的所需的数据都被磁头读出
1, 2 访问时间 3 传输速度
磁盘的选择
1. 存储容量
2. 传输速度
3. 访问时间
4. 主轴转速
5. 物理尺寸 小好
RAID技术
磁盘冗余队列的简称
作用: 可以把多个容量较小的磁盘组成一组容量更大的磁盘,并提供数据冗余来保证数据完整性的技术
RAID 0
raid 0 是最早出现的raid模式,也称之为数据条带。是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。raid 0没有提供冗余或错误修复能力,但是实现成本是最低的
RAID 1
raid 1 又称磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性
RAID 5
:分布式 奇偶校验磁盘阵列
通过分布式奇偶校验块把数据分散到多个磁盘是上,这样如果任意一个磁盘数据失效,都可以从奇偶校验块中重建。但是如果两块磁盘失效,则整个卷的数据都无法恢复
RAID 10
:分片的镜像
它对磁盘先做RAID 1 之后再对两组RAID 1的磁盘再做RAID 0,所以对读写都有良好的性能,相对于RAID 5重建起来更简单,速度也更快
等级 | 特点 | 是否冗余 | 盘数 | 读 | 写 |
---|---|---|---|---|---|
RAID0 | 便宜,快速,危险 | 否 | N | 快 | 快 |
RAID1 | 高速读,简单,安全 | 有 | 2 | 快 | 慢 |
RAID5 | 安全,成本折中 | 有 | N+1 | 快 | 取决于最慢的磁盘 |
RAID1 | 贵,高速,安全 | 有 | 2N | 快 | 快 |
固态存储 SSD PCI-E SSD
特点:
1. 相比机械磁盘,固态磁盘有更好的随机读写性能
2. 更好支持并发
3. 更容易损坏
SSD
1. 可以使用SATA接口
可以替换传统磁盘而不需要任何改变
2. SATA接口的SSD同样支持RAID技术
PCI-E SSD
1. 无法使用SATA接口
需要独特的驱动和配置
2. 相对于SSD要贵
但性能好
固态存储适合用于存在大量随机I/O的场景
使用与解决单线程负载的I/O瓶颈
网络存储SAN和NAS
SAN:
1. 通过光纤连接到服务器,设备通过块接口访问,服务器可以将其当做硬盘使用
2. 大量顺序读写
3. 不如本地RAID磁盘
4. 缓存
5. I/O合并
6. 随机读写,慢
NAS:
1. 通过网络连接,基于文件的协议如NFS或SMB来访问
网络存储适用场景:
1. 数据库备份
网络性能的限制
1. 延迟
2. 带宽
建议:
1. 采用高性能和高带宽的网络接口设备和交换机
2. 对多个网卡进行绑定,增强可用性和带宽
3. 尽可能的进行网络隔离