做的门户网站怎么绑定ip地址,在什么网站做兼职翻译,wordpress最大上传2g,网站关键词挖掘Linux下将两个10G的文件打包成一个文件需要多久 | 公云网博客Linux下将两个10G的文件打包成一个文件需要多久发表于 2012 年 9 月 19 日 由 refactor微博上kevin_prajna提了一个问题#xff1a;“求Linux下一打包工具#xff0c;需求#xff1a;能把两个10G的文件打包成一个…Linux下将两个10G的文件打包成一个文件需要多久 | 公云网博客Linux下将两个10G的文件打包成一个文件需要多久发表于 2012 年 9 月 19 日 由 refactor微博上kevin_prajna提了一个问题“求Linux下一打包工具需求能把两个10G的文件打包成一个文件时间在1分钟之内能接受”。暂且作答一下吧。首先问题是求解工具那么我们忽略IO问题采用内存盘来解决, 在公司一台128G内存的机器上mkdir /mnt/test
mount -t ramfs none /mnt/test
cd /mnt/test生成一个小脚本生成两个10G的文件#!/bin/bash
for (( i 0; i 2; i)); do
echo $idd if/dev/zero offile$i.bin bs1M count10000
done;生成测试文件time ./test.sh
0
100000 records in
100000 records out
10485760000 bytes (10 GB) copied, 4.78903 s, 2.2 GB/s
1
100000 records in
100000 records out
10485760000 bytes (10 GB) copied, 4.92947 s, 2.1 GB/s
./test.sh 0.00s user 9.68s system 99% cpu 9.731 total测试结果生成两个10G文件消耗了9.731秒采用tar打包工具测试time tar cvf out.bin file*
file0.bin
file1.bin
tar cvf out.bin file* 0.40s user 13.90s system 99% cpu 14.353 total采用 tar打包这两个文件并且写入 out.bin文件消耗了 14.353秒, 完全满足kevin_prajna的要求。然后我们用cpio来测试由于cpio对10G这样的文件打包有bug会报错所以我们用20个1G文件测试#!/bin/bash
for (( i 0; i 20; i)); do
echo $idd if/dev/zero offile$i.bin bs1M count1000
done;生成20个1G测试文件用了 9.806秒使用tar对这20个1G文件打包用了13.800 秒cpio的测试结果# time ls file*|cpio -o out.bin
40960002 blocks
ls --colortty file* 0.00s user 0.00s system 0% cpu 0.002 total
cpio -o out.bin 6.31s user 37.61s system 99% cpu 44.029 total
cpio打包这20个1G文件消耗了44.029秒速度相对tar还是慢了好多。测试环境Dell R710, 2*Xeon E5620, 128G RAM OS: Ubuntu 12.04 x86_64从上面也可以看出现在CPU和工具是很强悍的弱爆的是磁盘IO这是要大把花银子的。