查看文章
 
最具有权威性的虚拟盘终极教程连载——十年网吧经验3
2009-09-17 17:19

第五篇:<随机读取性能分析>



在第三篇的时候,我讲到了一个观点,就是在应用中多数的情况都是有部分数据是随机读取的,部分数据是连续读取的,我还讲到,少量的随机读取的比例就会导致硬盘的性能大幅度的降低,现在我们来看看随机数据的比例对硬盘的确切影响.
我们使用IOMETER来进行这项测试.IOMETER是专业的磁盘测试工具,因为可以灵活的设定测试的详细条件,因此在很多专业评测中采用.大家有兴趣的话也可以研究研究.
先看看sata硬盘的测试情况.测试对象是一个西数的80G SATA硬盘.


5-1.jpg

(5-1:IO Meter测试西数80G硬盘读取,0%随机)
第一图是全顺序读取的结果,这个硬盘连续读取的能力为55MB/S.IOps877.测试区块仍是64K.


5-2.jpg

(5-2:IO Meter测试西数80G硬盘读取,5%随机)
仅仅是加入了5%的随机数据,性能已经衰减到20MB/S,iops降低到474

后面的测试图我就不一一张贴了,整理成下图

5-3.jpg
5-4.jpg

5-5.jpg

接下来看看SAS 硬盘的情况

全顺序读取:


7-10.jpg


(7:IOmeter测试希捷15000sas硬盘顺序读取)


25%的随机数据读取:


7-10-1.jpg


(7:IOmeter测试希捷15000sas硬盘25%随机读取)



50%的随机数据读取:


7-10-2.jpg



(7:IOmeter测试希捷15000sas硬盘50%随机读取)



100%的随机数据读取:


7-10-3.jpg



(7:IOmeter测试希捷15000sas硬盘100%随机读取)


整理成图表:








7-10-4.jpg




7-10-5.jpg




7-10-6.jpg




综上,只要有少量的随机数据,硬盘的性能就会急剧的下降,satasas硬盘都不例外.



在来看看对固态硬盘来说,随机数据的影响.



讲完了硬盘,下一节,我们来看看虚拟盘的性能.
(未完待续)

第六篇:<虚拟盘的性能分析>


虚拟盘:


虚拟盘是一种虚拟的网络存储空间,它是通过网络来管理和使用的远程硬盘空间,可用于传输、存储、下载和备份计算机数据文件,聊天软件绑定的网络硬盘与传统的存储方式相比较,具有管理和使用方便的特点。
虚拟盘工作过程:
客户机发出读取需求à指令通过网络传输到服务器à服务器去读取数据à通过网络将数据发送给客户机,整个环节中,最有可能造成延迟的部分就是后2个环节.
服务器读取数据的环节,一般是服务器先在缓存中寻找,如果缓存中没有,则到相应的硬盘中去读取.缓存命中的数据,其延迟是微乎其微的,所以主要延迟还是硬盘的延迟.
通过网络将数据发送给客户机这个环节,还要经历软件处理à网卡à网线à交换机à网线à客户机网卡à客户机,这么多的过程中,虚拟盘软件的传输协议,网卡的性能,交换机的性能,网线的性能都会影响到最终的虚拟盘性能.
总结起来,影响虚拟盘性能的主要因素就是:硬盘性能,软件性能,网络性能.下面逐个来分析一下.

首先来说说网络,典型的千兆网络,使用超5类网线传输,经过我们测试,其实延迟是非常之低的,看看这个测试图:
6-1.jpg
(8:交换机性能测试)

这个测试表明,64字节这样的极限条件下,2个交换机的通过率都超过99%以上,请注意测试单位是64字节,而不是64kb,普通硬盘如果用512字节来测试的话,连续数据也只有3-4MB/S,随机数据就只有几十KB/S.交换机上单个包的延迟仅为4微秒,比硬盘的15毫秒的寻道时间少了3000.尽管网吧里的状况不可能象实验室中的测试条件那么好,但是实际上,网络上真正的延迟还是远比硬盘的延迟要低的多的多!

我们再来看看虚拟盘软件
在客户机用HDTUNE测试网维大师5.0版本虚拟盘的速度.我们将数据全部缓存在内存当中,以屏蔽硬盘对虚拟盘速度的影响,64K的条件来测试,结果如下:
6-2.jpg
(9:虚拟盘在缓存命中情况下随机读速度(客户机测试))

测试方法是随机读取,在64K的条件下,速度约55MB/S左右,很好理解,服务器每次按64KB大小进行发包,1秒钟要达到55MB的流量,需要发880个包(普通硬盘每秒只能处理60个64K的数据),因而我们可以计算出虚拟盘软件+网络最终造成的延迟:64KB/55MB*1024=每个64K包的延迟=1.1毫秒


由此可见,软件性能和网络性能导致的延迟相加不过是1.1毫秒而已,远比普通硬盘的10毫秒-20毫秒的延迟小的多.所以:真正要提高虚拟盘的性能,关键还是在于硬盘,硬盘才是整个环节中的最大瓶颈.


我们加上硬盘的影响,做个直接的对比测试吧:




6-3.jpg (10:虚拟盘在有缓存和无缓存情况下随机读速度(客户机测试))



蓝色的是完全没有内存缓存的情况,所有的数据都是直接从硬盘中读取.在同样的测试条件下,同样的虚拟盘,缓存命中和缓存未命中带来的差异是惊人的.除了固态硬盘,其他2个硬盘的测试结果都非常的糟糕.希捷7200.11虚拟盘速度只有缓存命中情况下的1/10,超过90%的时间都损耗在硬盘的寻道时间上了.



分析到这里,要获得好的虚拟盘性能,对应的方法就很简单了:
1、尽可能的减少硬盘的读取,用内存对常用数据进行缓存.
2、尽可能提高服务器硬盘的性能,比如使用SSD硬盘
3、使用好的虚拟盘软件
4、网络性能不能太差


OK.下一节我们开始讲该怎么做.
(未完待续)



类别:无盘||添加到搜藏 |分享到i贴吧|浏览(3171)|评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
     

   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu