最近一周
benchmark工作:
机器配置:
8
核
8g
内存
硬件环境:
$ cat /proc/cpuinfo
model name : Intel(R) Xeon(R) CPU E5420 @ 2.50GHz
cpu MHz : 2499.845
cache size : 6144 KB
软件环境:
$ uname -a
Linux head 2.6.30 #2 SMP Tue Aug 11 04:49:44 CST 2009 x86_64 x86_64 x86_64 GNU/Linux
网络环境:
千兆网
其中
mfs配置了一个
master,一个
metalogger,两个
chunkserver (其中一个和
master重叠
),
mfs master在编译时加了
gprof的支持,可能会有一定的性能影响。
ext3 vs mooseFS
对
exe3和
mooseFs使用
iozone进行测试
使用如下命令:
iozone -i 0 -i 1 -g 12G -Rab out.wks
下图为
write
性能比较:
下图为
read
性能比较:
对压缩包中的数据,直接使用
gnuplot gnuplot.dem即可~
结论:
-
对于
ext3的
write ,
在
1g
地方出现下降,说明
write buffer
为
1g
-
对于
ext3
的
read ,
在
1m
和
1g
的地方都出现下降,如何解释呢????
TODO
-
ext
在读的时候有
3000MB/s
,这是如何产生的???
-
mfs
和
ext3
对比,因为我们使用的时候通常都是
filesize<=1G
,考虑缓存因素,
mfs
的性能大约是
ext3
的
1/5
filesize<=1G filesize>=2G
ext3 w
630 70
mfs w
150 60
ext3 r
3061 68
mfs r
69 40
对元数据测试:
fileop -f 10 -bw -s100K
将产生
10^3
个文件,每个文件
100K
结果:
ext3
mkdir rmdir create read write
31439 40682 30015 4353 2938
mfs
mkdir rmdir create open read write
6414 5068 840 4578 655 2869
结论
mfs -
小了一个数量级
对使用
splice进行文件读写,
socket读写的性能测试:
测试环境同上,
分别
使用splice和read/write进行文件拷贝
使用splice和read/write进行socket发送数据。
测试代码如附件~
使用r/w和splice进行文件拷贝 - 1
使用r/w和splice进行文件拷贝 - 2
使用r/w和splice进行socket文件传送 - 1
结论:
- 使用splice后,性能确实比r/w要高,但是高的比例较小,约5%-15%
- 对于socket发送,无论splice还是r/w,使用较大的record size性能会比较好
- splice在读写时,有些波动。
分享到:
相关推荐
say splice ( ' This is Rakudo ' , * -2 , 2 ); # This is Raku say " Tonight I'm gonna party like it's 1999 " . & splice ( 18 , 5 , ' program ' ) . & splice ( * -4 , 2 , 20 ); # Tonight I'm gonna ...
定义和用法splice() 方法用于插入、删除或替换数组的元素。语法arrayObject.splice(index,howmany,element1,…..,elementX)参数 描述index 必需。规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素...
splice-feats解析1
NULL 博文链接:https://idning.iteye.com/blog/638944
下面小编就为大家带来一篇浅谈js数组和splice的用法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
删除或替换部分字符串,例如Array#splice 它可以正确处理带有表情符号的切片字符串。 安装 $ npm install splice-string 用法 import spliceString from 'splice-string' ; spliceString ( 'unicorn' , 3 , 4 , '...
2.插入-向数组指定位置插入任意项元素。三个参数,第一个参数(插入位置),第二个参数(0),第三个参数(插入的项) 3.替换-向数组指定位置插入任意项元素,同时删除任意数量的项,三个参数。第一个参数(起始位置...
JavaScript数组的splice()方法改变数组的内容,增加了新的元素,同时消除旧元素。 语法 array.splice(index, howMany, [element1][, ..., elementN]); 下面是参数的详细信息: index : 在该索引开始改变的数组。 ...
例如有一个数组是 :var textArr = [‘a’,’b’,’c’,’d’]; 这时我想删除这个数组中的b元素: 方法一:delete 删除数组 delete textArr[1] 结果为: [“a”,undefined,”c”,”d”] ...textArr.splice
js_arr_splice.html
Array ( [0] => a [2] => c [3] => d ) 那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是array_splice(): <?php $arr = array('a','b','c','d'); array_splice($arr,1,1); print_r($arr);...
本文实例讲述了JS数组splice操作。分享给大家供大家参考,具体如下: node2:/var/www/html/js#cat h23.js [removed] var narr=['a','b','c','d','e']; console.log(narr); for (var j=0;j<narr>'+narr[j]); }; ...
规定从何处开始选取,如果是负数,则是从数组元素尾部选取,也就是说-1指最后一个元素,-2指倒数第二个元素;end是可选元素。规定从何处结束选取。该参数没有,表示从开始位置截取到数组末尾,如果是负数,表示从...
本文介绍了php中array_slice和array_splice函数解析,php拆分数组的二个函数(array_slice()、array_splice()),各举一个例子,供大家学习参考。
splice 基于 Electron 的前端文件处理工具
// splice:返回从原始数组中删除的项(如果没有任何删除,则返回空数组) // 当指定2个参数时,表示删除 // 当指定3个参数,且第2个参数为0时表示插入 // 当指定3个参数,且第2个参数为1时表示替换 本次就拿删除...
#用途: splice(str, index, ...splice(exampleString, 1, 2, 'ZZZ'); //'aZZZdefg' #Attributions:取自这个堆栈溢出问题的答案: ://stackoverflow.com/questions/20817618/is-there-a-splice-method-for-strings
最近做个练习,用到Array.slice()和Array.splice(),以前没有注意其返回值类型 Array.slice()返回Array — 一个由原始数组中某一范围的元素构成的数组。 Array.splice()返回Array — 包含从原始数组中删除的元素的...