OpenBSD,FreeBSD,Linux硬盘速度对比

测试基于虚拟机,不保证在真机上的真实准确性,真实服务器只能比这个快,仅供参考而已,年前封箱文。


环境:

VirtualBox 4.1.8

Intel i3 2100 3.1GHz 4核

分配虚拟机2核,1024M内存

硬盘是ST500D ATA Device


OpenBSD 5.0 with FFS

FreeBSD 9.0 with UFS2

Ubuntu 11.10 server with EXT4

CentOS 5.7 with EXT4


测试命令:


写入1G文件

time dd if=/dev/zero of=/tmp/1GB bs=4096 count=250000


读取1G文件

time dd if=/tmp/1GB of=/dev/null bs=4096 count=250000


同时读写

time dd if=/tmp/1GB of=/tmp/1GB.a bs=4096 count=250000


红色为最快,绿色为最慢。



FFS   read   write   read&write  
default   6.63s   14.24s   26.81s  
async   6.56s   13.81s   27.77s  
softdep noatime   6.57s   13.77s   27.83s  
       
UFS2        
default   2.97s   15.23s   16.28s  
async   3.07s   13.11s   15.28s  
       
EXT4        
ubuntu 11   3.94s   4.40s   6.25s  
centos 6   4.61s   5.74s   7.07s  


OpenBSD和FreeBSD为了保证其数据的掉电安全性,包揽全部项目最慢桂冠。不过其基于同步IO的操作,数据可靠性是有相当保证的。


在OpenBSD中,比较意外的是async和noatime,softdep的方式,async为BSD系统强烈不推荐的方式,认为其异步方式会造成数据掉电丢失,但是,从测试上看,OpenBSD的异步和softdep方式,并没有比同步方式强多少。尽管在OpenBSD内的比较重,async方式没有拿到最慢奖,但速度也只是零点几秒的差异。而同时读写的速度是慢的比较离谱,所以,OpenBSD确实不适合做应用服务器使用,更适合当个路由器或者防火墙。


FreeBSD的UFS2比较令我意外,居然是读取速度最快的,但是写入速度却是所有操作系统里最慢的。所以,FreeBSD可以考虑做历史数据存储备份使用。或者做读操作密集型应用的服务器。


作为Linux最新推出的EXT4,确实在读写速度上让人一亮。特别是ubuntu,包揽写入和同步读写两个冠军,实在令人刮目相看。相比之下,CentOS6的速度就比较平庸了。而且在3项对比上,ubuntu几乎所有项目都比centos快了1秒,在服务器应用上这已经是很大的差距了,对于Linux系统就不用要求数据的掉电安全性了。至于为什么,去找ext4原理看看就知道了。不要小看1秒的差距,最终这是个累计误差的问题,1G误差1秒,60G就是1分钟,3.6T的数据就是1小时了。如果搞海量分析,还是选ubuntu或者FreeBSD比较好。


所以,窃以为,OpenBSD的FFS比较适合做网关,路由,防火墙,你要拿他来做MySQL,webserver,那就等死吧,虽然安全,但是性能实在是差了许多。


FreeBSD适合做存储或者读取密集型的应用服务器,比如webserver或者专供select的mysql slave服务器。


ubuntu/debian,适合写入密集型或者读写密集型的应用,典型的就是mysql master或者基于web的文件服务器。

至于centos么,如果你决定用Linux,还是把它扔了吧。


由于公司网络对于下载的限制,本次没有时间测试SUSE,不过,我猜测,SuSE的性能会优于CentOS,否则腾讯就不会用SuSE当开放平台的服务器了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/22686.html