7Zip 在 Linux 上解压速度很慢

fro*_*oud 5 linux windows xfs xenserver

在linux xfs上解压7zip,里面有很多小文件,解压速度好慢。

我的测试系统环境。

  • 系统 1:XenServer 上的 2vCore/4GB CentOS 6.5 64 位来宾。
  • 系统2:XenServer 上的2vCore/4GB Windows 2012 来宾。

大小文件创建脚本

#!/bin/bash

for i in {1..100000}
do
    dd if=/dev/zero of=./dmp/dd$i.dmp bs=1K count=4
done
Run Code Online (Sandbox Code Playgroud)

好的。我在 dmp 目录中得到了 100,000 个 4KB 文件。然后我用xfs格式化/testfs。

测试

Compression Time on System1 :
   # time 7za a dmp.7z ./dmp     --> real   0m27.518s
Extraction Time on System1: 
   # time 7za x dmp.7z -o/testfs --> real   9m5.420s
   - 7za use only single core.
   - Dirent system call use most of the CPU time.
Extraction Time on System2:
   - around 25s
   - 7za use multi-core.
Run Code Online (Sandbox Code Playgroud)

我的问题

  1. 虽然system2使用多核而system1使用单核,但是如此大的差异结果是不可靠的。我认为。我该如何解释这一点?

  2. 如果我在Linux上使用xfs来提取7zip文件,我怎样才能加快速度?任何想法 ?

提前致谢。

bfo*_*ine 4

我也遇到了同样的问题,解决办法是升级7z。在 Ubuntu 20.04 LTS 上,7z您获得的版本是 2016 年的。相反,请从官方网站apt install下载最新版本。

对于同一服务器上包含 60k 小文件的同一存档,我从 8 分钟缩短到 6 秒(!)。