您的位置:首页 > 其它

磁盘与SSD性能分析

2012-01-03 16:56 796 查看

磁盘 vs SSD性能

^ - ^

心血来潮,对性能数字开始越来越敏感。性能评估,方案论证,系统工程师必备技能也。

1 概述

软件有一个特点,就是最大限度地利用硬件资源,随着SSD,Fusion IO等各种技术的发展,可以考虑在单机层面上通过搭配不同类型的硬件来整体优化存储系统,在性能和价格上取得一个很好的折衷。 但是要能够设计优秀的系统,必须得知己知彼,要了解应用的负载模式并且同时应该对底层的硬件特性要有一定的了解。

2 硬盘 vs SSD

(1):随机读写 [iops]

a) 磁盘 : 磁盘寻道+旋转延迟基本为10ms,读写带宽为100MB/s,以下为4kB 64KB 1MB为随机读写数据。

理论最大iops : 1s/10ms = 100

4KB : IOPS = 1 s / ( 10ms + 4kB / 100MB/s ) = 1s/10.04ms = 99.6

64KB : IOPS = 1 s / ( 10ms + 64kB / 100MB/s ) = 1s/10.64ms = 93.6

1MB: IOPS = 1s / ( 10ms + 1MB / 100MB/s ) = 1s/20.00ms = 50

(如果继续以M为单位增加,可以看到,性能下降时很明显的)

b) SSD :

SSD的性能跟具体产品的设计相关性很大,所以具体性能必须得实测,flash为电子器件,没有机械部件的寻道与旋转延迟。

随机读 IOPS = 1s/数据传输时间. 理论上读IOPS可以上10w.以下为以网上实测数据。

随机写IOPS =
由于SSD采用的写策略的不同,不能简单得按照上述方式, 随机写的IOPS平均值大概为5K.

数据:

SSD SLC
Iops 8k 随机读16500,Iops
8k 随机写11700 ---

SSD MLC Iops 8k 随机读7074,Iops
8k 随机写3065 --- 读IOPS :1w-2w 写iops : 5K

(一般iops的计算都以4KB的记录来进行测试,比较符合上层应用。如果读取记录为 1MB,那么SSD的性能几乎是线性下降的

16500/ (8K/1M) =132 ,11700/(8k/1M) = 93 ,也很差了,所以这里要注意。)

计算:

SSD带宽150M iops = 1s/ ( 8k/150M/s ) =1 /5* 10 E-5 = 2w

(2) :顺序

目前来讲,磁盘和SSD的顺序读写的速率还在一个数量级,磁盘性价比高得多。

磁盘速率: 目前普通 SATA 速度为 100MB/s 左右 (不过SATA II 速度能达到 3倍 300MB/s,但是很少有用 SATAII的)

SSD速率 : 大部分 读 200MB/s 左右 写 100MB/s 左右,写比读差。

3 相关资料

1:http://www.docin.com/p-138915918.html

2:http://m1350958969.spaces.eepw.com.cn/articles/article/item/32490

3:深入解析SSD中MLC与SLC的性能差异 : http://www.c-ps.net/trade/content/2009/7/12073.html
4:SSD与Fusion IO 实测随机读写 IOPS: http://cccgw.itpub.net/post/9245/505790
5:NAND Flash能达到200MB/s的读取速度: http://m1350958969.spaces.eepw.com.cn/articles/article/item/32490
6:数据库随机I/O优化与总结: http://qing.weibo.com/1406972894/53dcb3de330005nx.html

7:数据库如何抵抗随机I/O : 问题'方法`与实现:http://wangyuanzju.blog.163.com/blog/static/13029201132154010987/

8:row cache for innodb: http://blog.zephyrleaves.net/?p=88

9::SATA SATA2 速度与设计区别 http://news.watchstor.com/news-32259.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: