linux 下测试了一下splice copy的性能:
似乎一般的读,效果更好??
注意每次拷贝以前要rm data
[ning@leap splice_test]$ time ./splice_copy from_data data 1024
real 0m7.795s
user 0m0.000s
sys 0m4.790s
[ning@leap splice_test]$ time ./rw_copy from_data data 1024
real 0m7.044s
user 0m0.000s
sys 0m2.351s
[ning@leap splice_test]$ time cp from_data data
real 0m6.879s
user 0m0.000s
sys 0m2.849s
[ning@leap splice_test]$ time dd if=from_data of=data
1978384+1 records in
1978384+1 records out
1012933100 bytes (1.0 GB) copied, 9.35868 seconds, 108 MB/s
real 0m9.360s
user 0m0.000s
sys 0m8.421s
环境:
cpu
8核8g内存
每个核:
Intel(R) Xeon(R) CPU E5420 @ 2.50GHz
cpu MHz : 2499.613
cache size : 6144 KB
mem
MemTotal: 8169020 kB
MemFree: 2376992 kB
Buffers: 15508 kB
Cached: 136296 kB
Linux leap 2.6.23 #2 SMP Fri Oct 9 21:38:13 CST 2009 x86_64 x86_64 x86_64 GNU/Linux
测试代码见附件~
http://ltp.cvs.sourceforge.net/
另外,这位(http://lkml.org/lkml/2006/11/16/162)仁兄也说splice的效果没有他想象的那么好,他那里有源代码,不过我没有编译成功。。
这里是linus的讨论: http://kerneltrap.org/node/6505
这里是对应的man page: http://www.kernel.org/doc/man-pages/online/pages/man2/splice.2.html
实验过程中,发现splice使用的pipe有限制:64K -看来不能改了。。
/usr/src/linux/include/linux/pipe_fs_i.h
#define PIPE_BUFFERS (16)
分享到:
相关推荐
fio 是一个 I/O 工具用来对硬件进行压力测试和验证,支持 13 种不同的 I/O 引擎,包括:sync, mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等,I/O priorities (for newer ...
这份文档是关于FIO工具的使用指南,它是一个用于Linux系统下测试磁盘性能的工具: 1. FIO简介: 2. FIO安装: 3. FIO测试方法: 主要使用FIO进行随机读、随机写、顺序读、顺序写四种模式的测试。文档以随机读测试为...
fio 是一个 I/O 工具用来对硬件进行压力测试和验证,支持 13 种不同的 I/O 引擎,包括:sync, mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等,I/O priorities (for newer ...
第三部分从侧重实战的角度讲解了高性能服务器的优化与监测,包含服务器的调制、调试和测试,以及各种实用系统监测工具的使用等内容。本书另外免费赠送一个负载均衡服务器程序的完整实际项目的源代码!作者简介游 双...
FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet,guasi, solarisaio 等等。目前windows版本的fio...
FIO是一个开源的I/O压力测试工具,主要是用来测试磁盘/SSD的IO性能,也可测试cpu,nic的IO性能。它可以支持13种不同的I/O引擎,包括:sync, mmap, libaio, posixaio, SG v3, splice, network, syslet, guasi, ...
FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet,guasi, solarisaio 等等。目前windows版本的fio...
测试队列实施对几个不同的队列实现选项的性能感到好奇。队列实现拼接队列存储: Array 指数:自然出队: splice()方法DeletingQueue() 商店: Object 索引:手动出队: delete o[index]未定义队列商店: Object ...
• 6.15.htm splice方法 • 6.16.htm Object对象 • 6.17.htm anchor方法 • 6.18.htm big方法 • 6.19.htm fontcolor方法 • 6.20.htm 字符串搜索 • 6.21....
• 6.15.htm splice方法 • 6.16.htm Object对象 • 6.17.htm anchor方法 • 6.18.htm big方法 • 6.19.htm fontcolor方法 • 6.20.htm 字符串搜索 • 6.21....