“高性能MySQL笔记(下)”的版本间的差异
来自Alex's wiki
(→9.4.3闪存的基准测试) |
(→9.4.2闪存技术) |
||
第21行: | 第21行: | ||
闪存最重要的两个特性:1、提升随机I/O;2、提高并发操作<br /> | 闪存最重要的两个特性:1、提升随机I/O;2、提高并发操作<br /> | ||
'''写放大'''及'''垃圾收集''' 对性能影响较大(尤其是空间快满了的时候)<br /> | '''写放大'''及'''垃圾收集''' 对性能影响较大(尤其是空间快满了的时候)<br /> | ||
− | ==9.4.2闪存技术== | + | ===9.4.2闪存技术=== |
有两种闪存类型: | 有两种闪存类型: | ||
#单层单元(SLC):每个单元存储一个比特(0或1)。SLC相对更昂贵,但非常快,并且擦写寿命高达100000个写周期(20年左右)缺点是存储密度相对较低 | #单层单元(SLC):每个单元存储一个比特(0或1)。SLC相对更昂贵,但非常快,并且擦写寿命高达100000个写周期(20年左右)缺点是存储密度相对较低 |
2016年9月9日 (五) 16:37的版本
相关文章:高性能MySQL笔记(上)
目录
第九章操作系统和硬件优化
9.1什么限制了MySQL的性能
最常见的两个瓶颈是CPU和I/O
9.2如何选择CPU
快速CPU还是多CPU,有两个目标:
- 低延时(快速响应)
- 要做到这一点就需要高速CPU
- 高吞吐
- 如果能同时运行很多查询,则可以从多CPU中受益
MySQL复制,也能在高速CPU下工作的非常好,而多CPU对复制的帮助不大。而备库的瓶颈通常是I/O子系统而不是CPU(因为在备库上已经被简化成了串行化任务)
9.3平衡内存和磁盘资源
- 顺序I/O比随机I/O快
- 内存随机访问比磁盘随机访问快了2500倍,但顺序读只比磁盘快了10倍左右
- 假设每次读取100字节:
- 磁盘 随机寻道:100次/S ; 50M/S的顺序读
- 内存 随机访问:25万次/S; 顺序访问:500万次/S。内存的顺序读写速度一般都在10G/S以上
- 缓存命中率
- 缓存命中率实际上也会决定使用了多少CPU,所以评估缓存命中率的最好方法是看CPU的使用率。
- 例如,若CPU使用了99%的时间工作,用了1%时间等待I/O,那缓存命中率还是不错的。(REF: 7.12节论述了查询缓存,不要和这里的概念混了)
9.4固态存储
闪存最重要的两个特性:1、提升随机I/O;2、提高并发操作
写放大及垃圾收集 对性能影响较大(尤其是空间快满了的时候)
9.4.2闪存技术
有两种闪存类型:
- 单层单元(SLC):每个单元存储一个比特(0或1)。SLC相对更昂贵,但非常快,并且擦写寿命高达100000个写周期(20年左右)缺点是存储密度相对较低
- 多层单元(MLC):每个单元存储2个比特(3个比特设置也正在进入市场中)。这使得存储密度提高了,但速度和耐擦写性能降低了。一个不错的MLC设备可能被定为10000个写循环周期(2年)
9.4.3闪存的基准测试
闪存的三阶段模式,我们称为A-B-C模式:
- A:开始阶段,通常运行比较快
- B:过度状态状态,此时垃圾回收开始工作
- C:稳定状态,此时最慢
作者的基准测试:
http://www.ssdperformanceblog.com http://www.mysqlperformanceblog.com
9.4.4固态硬盘
SSD是否配置电容或者电池是我们必须关注的特性
9.4.5PCIe设备
没有什么能比得上PCIe设备上获得的性能。缺点是它们太贵了。