Re: Reduced power consumption in WAL Writer process
От | Simon Riggs |
---|---|
Тема | Re: Reduced power consumption in WAL Writer process |
Дата | |
Msg-id | CA+U5nMJhWSR-Q9PCZg18-y4f5mzxVNbWPwCUSdx87652i-jb+g@mail.gmail.com обсуждение исходный текст |
Ответ на | Reduced power consumption in WAL Writer process (Peter Geoghegan <peter@2ndquadrant.com>) |
Ответы |
Re: Reduced power consumption in WAL Writer process
|
Список | pgsql-hackers |
On Wed, Jul 13, 2011 at 10:56 PM, Peter Geoghegan <peter@2ndquadrant.com> wrote: > Attached is patch for the WAL writer that removes its tight polling > loop (which probably doesn't get hit often in practice, as we just > sleep if wal_writer_delay is under a second), and, at least > potentially, reduces power consumption when idle by using a latch. > > I will break all remaining power consumption work down into > per-auxiliary process patches. I think that this is appropriate - if > we hit a snag on one of the processes, there is no need to have that > hold up everything. > > I've commented that we handle all expected signals, and therefore we > shouldn't worry about having timeout invalidated by signals, just as > with the archiver. Previously, we didn't even worry about Postmaster > death within the tight polling loop, presumably because > wal_writer_delay is typically small enough to avoid that being a > problem. I thought that WL_POSTMASTER_DEATH might be superfluous here, > but then again there is a codepath specifically for the case where > wal_writer_delay exceeds one second, so it is included in this initial > version. > > Comments? ISTM that this in itself isn't enough to reduce power consumption. Currently the only people that use WALWriter are asynchronous commits, so we should include within RecordTransactionCommit() a SetLatch() command for the WALWriter. That way we can have WALWriter sleep until its needed. -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: