Re: WAL bandwidth - Mailing list pgsql-general

From Torsten Förtsch
Subject Re: WAL bandwidth
Date
Msg-id 537E509B.1000301@gmx.net
Whole thread Raw
In response to Re: WAL bandwidth  (Jeff Janes <jeff.janes@gmail.com>)
Responses Re: WAL bandwidth
Re: WAL bandwidth
List pgsql-general
On 22/05/14 21:05, Jeff Janes wrote:
>         time and again I need to build indexes. If they are big, that
>         generates
>         a lot of WAL data that needs to be replicated to streaming
>         replication
>         slaves. Usually these slaves don't lag behind noticeably. So, the
>         application often reads from them. Well, unless I build indexes and,
>         thus, create a huge amount of WAL in a short period of time.
>
>
> Are these built CONCURRENTLY?

yes

>         What I'd like to have is something where I can set the max.
>         bandwidth
>         with which the index generating backend may generate WAL data. I
>         seem to
>         remember to have seen a discussion about something similar but can't
>         recall where.
>
>         Is there anything I can do about that problem in 9.3 or 9.4?
>
>         I already have a function that waits for the streaming slaves to
>         catch
>         up. But that mitigates the problem only at a very crude level.
>         I'd like
>         to be able to set that bandwidth to, say, 10mbit/sec. Then I can
>         be sure
>         that all my replicas are fine. How long the index creation
>         takes, does
>         not matter.
>
>
>     This does not appear the domain of PostgreSQL as much as the domain
>     of your OS and network layer.
>
>
> The OS and network have little choice but to process the WAL in the
> order it is generated.   If you want to throttle the generation of WAL
> by background maintenance operations so they don't interfere with the
> processing of WAL generated by bread-and-butter transaction processing,
> that is something that only PostgreSQL can do.

That's what I want, to throttle the rate at which WAL is generated by
maintenance operations.

I take it, there is no such thing by now. Would it be a useful addition?

I am not sure if I have the time to implement it. I have had a cursory
look at the code before, just to find out how things work, but never
changed something. What do you think, is it complicated to implement?

Torsten


pgsql-general by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: WAL bandwidth
Next
From: John R Pierce
Date:
Subject: Re: WAL bandwidth