end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

lzop や pigz は、gzip より高速

らしいので、試してみた。

install lzo & lzop

$ wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.09.tar.gz
$ tar -zxvf lzo-2.09.tar.gz
$ cd lzo-2.09
$ ./configure
$ make
$ make check
$ make test
$ su
# make install
$ wget http://www.lzop.org/download/lzop-1.03.tar.gz
$ tar -zxvf lzop-1.03.tar.gz
$ cd lzop-1.03
$ ./configure
$ make
$ make check
$ su
# make install

install pigz

pigz は、gzipの並列処理版らしい

$ wget http://zlib.net/pigz/pigz-2.3.3.tar.gz
$ tar -zxvf pigz-2.3.3.tar.gz
$ cd pigz-2.3.3
$ make
$ su
# cp pigz unpigz /usr/local/bin/

result of gzip and pigz

gzipを試すので、まずは、cpuコア数を確認

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                16
On-line CPU(s) list:   0-15
Thread(s) per core:    2
Core(s) per socket:    8
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 62
Stepping:              4
CPU MHz:               1200.000
BogoMIPS:              5187.27
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              20480K
NUMA node0 CPU(s):     0-15

↓すると...速い!!

$ ls -lh
-rw-r--r-- 1 endo wheel  4.2G  7月 17 16:08 2015 mysql_db.dmp

$ time gzip mysql_db.dmp
real    1m37.250s
user    1m34.702s
sys     0m1.808s

$ time pigz mysql_db.dmp
real    0m13.212s
user    2m40.971s
sys     0m2.771s


netcat (nc)も併用すると、サーバ間のファイル転送が早くなるかも