Thread: Performance of pg_basebackup

Performance of pg_basebackup

From
Shaun Thomas
Date:
Hey everyone,

I was wondering if anyone has found a way to get pg_basebackup to be...
faster. Currently we do our backups something like this:

tar -c -I pigz -f /db/backup_yyyy-mm-dd.tar.gz -C /db pgdata

Which basically calls pigz to do parallel compression because with RAIDs
and ioDrives all over the place, it's the compression that's the
bottleneck. Otherwise, only one of our 24 CPUs is actually doing anything.

I can't seem to find anything like this for pg_basebackup. It just uses
its internal compression method. I could see this being the case for
pg_dump, but pg_basebackup just produces regular tar.gz files. Is there
any way to either fake a parallel compression here, or should this be a
feature request for pg_basebackup?

--
Shaun Thomas
OptionsHouse | 141 W. Jackson Blvd. | Suite 500 | Chicago IL, 60604
312-444-8534
sthomas@optionshouse.com

______________________________________________

See http://www.peak6.com/email_disclaimer/ for terms and conditions related to this email

Re: Performance of pg_basebackup

From
Magnus Hagander
Date:
On Tue, Jun 12, 2012 at 4:54 PM, Shaun Thomas <sthomas@optionshouse.com> wrote:
> Hey everyone,
>
> I was wondering if anyone has found a way to get pg_basebackup to be...
> faster. Currently we do our backups something like this:
>
> tar -c -I pigz -f /db/backup_yyyy-mm-dd.tar.gz -C /db pgdata
>
> Which basically calls pigz to do parallel compression because with RAIDs and
> ioDrives all over the place, it's the compression that's the bottleneck.
> Otherwise, only one of our 24 CPUs is actually doing anything.
>
> I can't seem to find anything like this for pg_basebackup. It just uses its
> internal compression method. I could see this being the case for pg_dump,
> but pg_basebackup just produces regular tar.gz files. Is there any way to
> either fake a parallel compression here, or should this be a feature request
> for pg_basebackup?

If you have a single tablespace you can have pg_basebackup write the
output to stdout and then pipe that through pigz.

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/

Re: Performance of pg_basebackup

From
Shaun Thomas
Date:
On 06/12/2012 09:57 AM, Magnus Hagander wrote:

> If you have a single tablespace you can have pg_basebackup write the
> output to stdout and then pipe that through pigz.

Yeah, I saw that. Unfortunately we have tiered storage and hence two
tablespaces. :(

To be fair, my current process cheats by following symlinks. I haven't
yet modified it to explicitly handle tablespaces. I'll probably just
steal the directory method pg_basebackup uses until it can natively call
an external compression program.

Thanks, Magnus!

--
Shaun Thomas
OptionsHouse | 141 W. Jackson Blvd. | Suite 500 | Chicago IL, 60604
312-444-8534
sthomas@optionshouse.com

______________________________________________

See http://www.peak6.com/email_disclaimer/ for terms and conditions related to this email