1[Readme](https://github.com/cytopia/mysqldump-secure/blob/master/README.md) | 2[Installation](https://github.com/cytopia/mysqldump-secure/blob/master/doc/INSTALL.md) | 3[Requirements](https://github.com/cytopia/mysqldump-secure/blob/master/doc/REQUIREMENTS.md) | 4[Configuration](https://github.com/cytopia/mysqldump-secure/blob/master/doc/SETUP.md) | 5[Security](https://github.com/cytopia/mysqldump-secure/blob/master/doc/SECURITY.md) | 6Compression | 7[Encryption](https://github.com/cytopia/mysqldump-secure/blob/master/doc/ENCRYPTION.md) | 8[Examples](https://github.com/cytopia/mysqldump-secure/blob/master/doc/EXAMPLES.md) | 9[Contributing](https://github.com/cytopia/mysqldump-secure/blob/master/CONTRIBUTING.md) 10 11--- 12 13 14# Compression 15 16## Perfomance 17 18When you choose a compression algorithm also keep in mind they have different performances. The following shows a direct comparison between `gzip -9`, `bzip2 -9` and the multithreaded version `pbzip2 -9` for smaller and medium sized databases. 19 20It was tested on a MacBookPro (2014), Intel Core i7 2.5Ghz (8 cores) with 16GB RAM. 21 22 23### Time 24 25The total time taken from `mysqldump-secure` to dump, compress and write the data to disk. The size in brackets refers to the database size in `MySQL`. The following represents a mean time calculated from 10 rounds. 26 27| | direct<sup>[1]</sup> | gzip -9 | bzip2 -9 | pbzip2 -9 | lzop -9 | lzma -9<sup>[2]</sup>| xz -9 | xz -9 -e| 28|--------------------|--------:|--------:|---------:|----------:|--------:|-------:|--------:|--------:| 29| db_14 (6.74 MB) | 1 sec | 1 sec | 0 sec | 0 sec | 1 sec | 0 sec | 1 sec | 1 sec | 30| db_13 (6.93 MB) | 0 sec | 0 sec | 0 sec | 1 sec | 1 sec | 1 sec | 1 sec | 1 sec | 31| db_06 (10.71 MB) | 0 sec | 1 sec | 1 sec | 0 sec | 1 sec | 2 sec | 2 sec | 6 sec | 32| db_16 (12.49 MB) | 1 sec | 0 sec | 1 sec | 0 sec | 1 sec | 2 sec | 2 sec | 18 sec | 33| db_05 (14.39 MB) | 1 sec | 1 sec | 2 sec | 1 sec | 1 sec | 2 sec | 2 sec | 11 sec | 34| db_03 (14.39 MB) | 0 sec | 1 sec | 1 sec | 1 sec | 1 sec | 2 sec | 2 sec | 10 sec | 35| db_10 (17.24 MB) | 1 sec | 0 sec | 2 sec | 0 sec | 2 sec | 3 sec | 3 sec | 23 sec | 36| db_12 (20.18 MB) | 1 sec | 1 sec | 2 sec | 1 sec | 2 sec | 3 sec | 3 sec | 20 sec | 37| db_04 (39.28 MB) | 2 sec | 2 sec | 4 sec | 1 sec | 5 sec | 11 sec | 11 sec | 54 sec | 38| db_08 (44.46 MB) | 1 sec | 2 sec | 3 sec | 1 sec | 5 sec | 8 sec | 8 sec | 21 sec | 39| db_07 (44.48 MB) | 2 sec | 2 sec | 3 sec | 2 sec | 5 sec | 9 sec | 8 sec | 22 sec | 40| db_15 (95.97 MB) | 3 sec | 4 sec | 6 sec | 3 sec | 8 sec | 15 sec | 15 sec | 36 sec | 41| db_17 (158.29 MB) | 6 sec | 4 sec | 16 sec | 4 sec | 9 sec | 27 sec | 26 sec | 47 sec | 42| db_02 (166.68 MB) | 7 sec | 4 sec | 26 sec | 10 sec | 11 sec | 23 sec | 22 sec | 503 sed | 43| db_09 (266.39 MB) | 11 sec | 15 sec | 29 sec | 10 sec | 23 sec | 77 sec | 79 sec | 427 sec | 44| db_01 (433.66 MB) | 15 sec | 19 sec | 45 sec | 14 sec | 44 sec |148 sec | 145 sec | 753 sec | 45| db_11 (499.33 MB) | 26 sec | 30 sec | 65 sec | 22 sec | 69 sec |181 sec | 171 sec | 930 sec | 46| db_18 (1.919 GB) | 634 sec | 422 sec |2464 sec | 773 sec |1078 sec |556 sec |2934 sec |15242 sec| 47 48 49 50* [1] `Direct` (without compression) is usually much slower than this, because most server HDD's are ofteb the bottleneck (my machine has a very fast PCIe SSD). 51* [2] On modern systems `lzma` is usually an alias to `xz --format=lzma` 52 53 54Looks like `pbzip2` is generally faster than `gzip` (and a lot faster than `bzip2`), except for bigger files (see `db_18`). 55 56 57### Final filesize 58 59This is the resulting file size from `ls -lh`. 60 61| | direct | gzip -9 | bzip2 -9 | pbzip2 -9 | lzop -9 | lzma -9 | xz -9 |xz -9 -e | 62|--------------------|-------:|--------:|---------:|----------:|--------:|--------:|------:|--------:| 63| db_14 (6.74 MB) | 1.3M | 129K | 102K | 102K | 167K | 92K | 92K | 82K | 64| db_13 (6.93 MB) | 1.5M | 143K | 112K | 112K | 183K | 102K | 102K | 92K | 65| db_06 (10.71 MB) | 5.1M | 464K | 339K | 339K | 618K | 328K | 328K | 278K | 66| db_16 (12.49 MB) | 9.8M | 597K | 385K | 386K | 855K | 493K | 493K | 413K | 67| db_05 (14.39 MB) | 8.4M | 757K | 556K | 557K | 1007K | 509K | 509K | 446K | 68| db_03 (14.39 MB) | 8.4M | 757K | 556K | 557K | 1007K | 508K | 508K | 446K | 69| db_10 (17.24 MB) | 12M | 756K | 505K | 506K | 1.1M | 530K | 538K | 339K | 70| db_12 (20.18 MB) | 13M | 1.1M | 802K | 803K | 1.5M | 780K | 781K | 646K | 71| db_04 (39.28 MB) | 30M | 3.1M | 2.3M | 2.3M | 4.1M | 2.3M | 2.3M | 1.9M | 72| db_08 (44.46 MB) | 21M | 3.5M | 2.8M | 2.8M | 4.5M | 2.4M | 2.4M | 2.3M | 73| db_07 (44.48 MB) | 21M | 3.5M | 2.8M | 2.8M | 4.5M | 2.4M | 2.4M | 2.3M | 74| db_15 (95.97 MB) | 38M | 6.6M | 5.2M | 5.2M | 8.4M | 3.5M | 3.5M | 3.4M | 75| db_17 (158.29 MB) | 120M | 12M | 8.9M | 8.9M | 15M | 6.7M | 6.7M | 6.4M | 76| db_02 (166.68 MB) | 153M | 5.5M | 3.8M | 3.8M | 8.6M | 3.1M | 3.1M | 2.4M | 77| db_09 (266.39 MB) | 214M | 19M | 14M | 14M | 25M | 13M | 13M | 10M | 78| db_01 (433.66 MB) | 394M | 35M | 26M | 26M | 46M | 25M | 25M | 20M | 79| db_11 (499.33 MB) | 454M | 49M | 36M | 36M | 66M | 35M | 35M | 29M | 80| db_18 (1.919 GB) | 15G | 638M | 464M | 465M | 810M | 295M | 295M | 266M | 81 82 83 84 85 86The difference in file size is quiet noticable. 87 88### System Load 89 90#### gzip -9 91![gzip -9](https://raw.githubusercontent.com/cytopia/mysqldump-secure/master/doc/img/gzip-9.png) 92 93#### bzip2 -9 94![bzip2 -9](https://raw.githubusercontent.com/cytopia/mysqldump-secure/master/doc/img/bzip2-9.png) 95 96#### pbzip2 -9 97![pbzip2 -9](https://raw.githubusercontent.com/cytopia/mysqldump-secure/master/doc/img/pbzip2-9.png) 98 99#### lzma -9 100![pbzip2 -9](https://raw.githubusercontent.com/cytopia/mysqldump-secure/master/doc/img/lzma-9.png) 101