Re: BBU Cache vs. spindles

Поиск
Список
Период
Сортировка
От Scott Carey
Тема Re: BBU Cache vs. spindles
Дата
Msg-id A1D6CCC4-1E8A-4001-96CF-98DEA3F2DA70@richrelevance.com
обсуждение исходный текст
Ответ на Re: BBU Cache vs. spindles  (Rob Wultsch <wultsch@gmail.com>)
Список pgsql-performance
On Oct 22, 2010, at 1:06 PM, Rob Wultsch wrote:

> On Fri, Oct 22, 2010 at 12:05 PM, Kevin Grittner
> <Kevin.Grittner@wicourts.gov> wrote:
>> Rob Wultsch <wultsch@gmail.com> wrote:
>>
>>> I would think full_page_writes=off + double write buffer should be
>>> far superior, particularly given that the WAL is shipped over the
>>> network to slaves.
>>
>> For a reasonably brief description of InnoDB double write buffers, I
>> found this:
>>
>> http://www.mysqlperformanceblog.com/2006/08/04/innodb-double-write/
>>
>> One big question before even considering this would by how to
>> determine whether a potentially torn page "is inconsistent".
>> Without a page CRC or some such mechanism, I don't see how this
>> technique is possible.
>>
>> Even if it's possible, it's far from clear to me that it would be an
>> improvement.  The author estimates (apparently somewhat loosely)
>> that it's a 5% to 10% performance hit in InnoDB; I'm far from
>> certain that full_page_writes cost us that much.  Does anyone have
>> benchmark numbers handy?
>>
>> -Kevin
>>
>
> Ignoring (briefly) the cost in terms of performance of the different
> system, not needing full_page_writes would make geographically
> dispersed replication possible for certain cases where it is not
> currently (or at least rather painful)..

Am I missing something here?

Can't the network replication traffic be partial pages, but the WAL log on the slave (and master) be full pages?  In
otherwords, the slave can transform a partial page update into a full page xlog entry. 


(optional) 1. Log partial pages received from master to disk. (not xlog, something else, useful to persist changes
faster)
2. Read page from disk for update.
3. Log full page modification to xlog for local commit.
4. Update page in memory and write out to OS as usual.

The lack of the full page from the master would mean that you have to do a read-modify-write rather than just
overwrite,but I think that works fine if network bandwidth is your bottleneck. 
I don't know enough of the guts of Postgres to be certain, but it seems conceptually like this is possible.

Also one could use lzo compression and get a likely factor of two space saving with small CPU cost.

>
> --
> Rob Wultsch
> wultsch@gmail.com
>
> --
> Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-performance


В списке pgsql-performance по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: interpret statement log duration information
Следующее
От: AI Rumman
Дата:
Сообщение: which one is faster