From fc4a9d431e6ff9c2c99da98f6aeecf47f4ce7865 Mon Sep 17 00:00:00 2001 From: Mason James Date: Mon, 9 Apr 2018 18:08:40 +1200 Subject: [PATCH] Bug 20543: Use multi-core compression to speed up Koha backups Content-Type: text/plain; charset="utf-8" to test... 1/ run backup, observe execution time $ sudo time koha-dump mylib real 0m17.000s 2/ apply patch 3/ copy new koha-dump to sbin $ sudo cp debian/scripts/koha-dump /usr/sbin/koha-dump 4/ install pigz $ sudo apt-get install pigz 5/ run backup, observer execution time is less $ sudo time koha-dump mylib real 0m8.000s * tested on a 4 thread system --- debian/control | 2 ++ debian/control.in | 2 ++ debian/scripts/koha-dump | 4 ++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/debian/control b/debian/control index dd601ef..eccf80e 100644 --- a/debian/control +++ b/debian/control @@ -176,6 +176,7 @@ Depends: ${misc:Depends}, ${koha:Depends}, tinymce, ttf-dejavu, unzip, + pigz, xmlstarlet, yaz Suggests: mysql-server | virtual-mysql-server, @@ -227,6 +228,7 @@ Depends: ${misc:Depends}, tinymce, ttf-dejavu, unzip, + pigz, xmlstarlet, yaz Architecture: all diff --git a/debian/control.in b/debian/control.in index 6ee58d5..d820b55 100644 --- a/debian/control.in +++ b/debian/control.in @@ -32,6 +32,7 @@ Depends: ${misc:Depends}, ${koha:Depends}, tinymce, ttf-dejavu, unzip, + pigz, xmlstarlet, yaz Suggests: mysql-server | virtual-mysql-server, @@ -83,6 +84,7 @@ Depends: ${misc:Depends}, tinymce, ttf-dejavu, unzip, + pigz, xmlstarlet, yaz Architecture: all diff --git a/debian/scripts/koha-dump b/debian/scripts/koha-dump index ff171a0..04f74fc 100755 --- a/debian/scripts/koha-dump +++ b/debian/scripts/koha-dump @@ -71,7 +71,7 @@ dump_instance() [ "$quiet" = "no" ] && echo "* DB to $dbdump" mysqldump --databases --host="$mysqlhost" \ --user="$mysqluser" --password="$mysqlpass" "$mysqldb" | - gzip > "$dbdump" + pigz > "$dbdump" chown "root:$name-koha" "$dbdump" chmod g+r "$dbdump" @@ -86,7 +86,7 @@ dump_instance() --exclude=var/lib/koha/$name/authorities" fi - tar -czf "$metadump" -C / $excludes \ + tar -I pigz -cf "$metadump" -C / $excludes \ "etc/koha/sites/$name" \ "etc/apache2/sites-available/$instancefile" \ "etc/apache2/sites-enabled/$instancefile" \ -- 2.1.4