“高性能MySQL笔记(下)”的版本间的差异

来自Alex's wiki
跳转至: 导航搜索
9.4.2闪存技术
9.4.2闪存技术
第24行: 第24行:
 
有两种闪存类型:
 
有两种闪存类型:
 
#单层单元(SLC):每个单元存储一个比特(0或1)。SLC相对更昂贵,但非常快,并且擦写寿命高达100000个写周期(20年左右)缺点是存储密度相对较低
 
#单层单元(SLC):每个单元存储一个比特(0或1)。SLC相对更昂贵,但非常快,并且擦写寿命高达100000个写周期(20年左右)缺点是存储密度相对较低
#多层单元(MLC):每个单元存储2个比特(3个比特设置也正在进入市场中)。这使得存储密度提高了,但速度和耐擦写性能降低了。一个不错的MLC设备可能被定为10000个写循环周期(2年)。
+
#多层单元(MLC):每个单元存储2个比特(3个比特设置也正在进入市场中)。这使得存储密度提高了,但速度和耐擦写性能降低了。一个不错的MLC设备可能被定为10000个写循环周期(2年)
  
 
==9.4.3闪存的基准测试==
 
==9.4.3闪存的基准测试==

2016年9月9日 (五) 15:33的版本

相关文章:高性能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闪存技术

有两种闪存类型:

  1. 单层单元(SLC):每个单元存储一个比特(0或1)。SLC相对更昂贵,但非常快,并且擦写寿命高达100000个写周期(20年左右)缺点是存储密度相对较低
  2. 多层单元(MLC):每个单元存储2个比特(3个比特设置也正在进入市场中)。这使得存储密度提高了,但速度和耐擦写性能降低了。一个不错的MLC设备可能被定为10000个写循环周期(2年)

9.4.3闪存的基准测试

闪存的三阶段模式,我们称为A-B-C模式:

  1. A:开始阶段,通常运行比较快
  2. B:过度状态状态,此时垃圾回收开始工作
  3. C:稳定状态,此时最慢

作者的基准测试:

http://www.ssdperformanceblog.com   http://www.mysqlperformanceblog.com

9.4.固态硬盘

SSD是否配置电容或者电池是我们必须关注的特性