Bootstrap

使用 pigz 多线程特性提高解压缩速度

使用 pigz 多线程特性提高解压缩速度.md

数据源

  • 通过脚本创建出不同大小的文件
  • 实验数据10w个不同大小的文件量
### 创建实验文件夹
mkdir /app/example

### 脚本批量创建不同大小的文件和对应数量(10w个)
#! /bin/bash

cd /app/example
count=0
##1w个1M文件
for count in {1..10000};do
    filename="$RANDOM$(date +%s)"
    dd if=/dev/zero of=${filename}.txt bs=1M count=1
done

## 8w个小文件
for count in {1..80000};do
    filename="$RANDOM$(date +%s)"
    dd if=/dev/zero of=${filename}.txt bs=100 count=1
done

## 1w个大文件
for count in {1..10000};do
    filename="$RANDOM$(date +%s)"
    dd if=/dev/zero of=${filename}.txt bs=10M count=1
done
  • 执行脚本创建
date && /bin/bash /opt/example.sh >>/dev/null 2>&1 && date

在这里插入图片描述

压缩比较

通过传统 tar 方式进行压缩打包

date && tar -zcf example.tar.gz example/ && date

在这里插入图片描述

通过 pigz 方式加速打包

  • 方式(观察负载情况,要比之前的高)
date && tar --use-compress-program=pigz -cpf example.tar.gz example/  && date

在这里插入图片描述

在这里插入图片描述

感觉也不是很快,不过我在生产环境实际操作的时候,要快得多,验证的时候可能还有其他因素影响了

;