Re: autonomous transactions

Поиск
Список
Период
Сортировка
Искать
От
Tsunakawa, Takayuki
Тема
Re: autonomous transactions
Дата
Msg-id
0A3221C70F24FB45833433255569204D1F5E7867@G01JPEXMBYT05
Ответ на
Список
Дерево обсуждения
autonomous transactions Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: autonomous transactions Andres Freund <andres@anarazel.de>
Re: autonomous transactions Craig Ringer <craig.ringer@2ndquadrant.com>
Re: autonomous transactions Robert Haas <robertmhaas@gmail.com>
Re: autonomous transactions Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: autonomous transactions Simon Riggs <simon@2ndquadrant.com>
Re: autonomous transactions Robert Haas <robertmhaas@gmail.com>
Re: autonomous transactions Craig Ringer <craig.ringer@2ndquadrant.com>
Re: autonomous transactions "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>
Re: autonomous transactions Craig Ringer <craig.ringer@2ndquadrant.com>
Re: autonomous transactions Robert Haas <robertmhaas@gmail.com>
Re: autonomous transactions Petr Jelinek <petr@2ndquadrant.com>
Re: autonomous transactions Robert Haas <robertmhaas@gmail.com>
Re: autonomous transactions Simon Riggs <simon@2ndquadrant.com>
Re: autonomous transactions Petr Jelinek <petr@2ndquadrant.com>
Re: autonomous transactions Andres Freund <andres@anarazel.de>
Re: autonomous transactions Robert Haas <robertmhaas@gmail.com>
Re: autonomous transactions Simon Riggs <simon@2ndquadrant.com>
Re: autonomous transactions Robert Haas <robertmhaas@gmail.com>
Re: autonomous transactions Merlin Moncure <mmoncure@gmail.com>
Re: autonomous transactions Petr Jelinek <petr@2ndquadrant.com>
Re: autonomous transactions Pavel Stehule <pavel.stehule@gmail.com>
Re: autonomous transactions Merlin Moncure <mmoncure@gmail.com>
Re: autonomous transactions Petr Jelinek <petr@2ndquadrant.com>
Re: autonomous transactions Pavel Stehule <pavel.stehule@gmail.com>
Re: autonomous transactions Greg Stark <stark@mit.edu>
Re: autonomous transactions Serge Rielau <srielau@gmail.com>
Re: autonomous transactions Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: autonomous transactions Craig Ringer <craig.ringer@2ndquadrant.com>
Re: autonomous transactions Joel Jacobson <joel@trustly.com>
Re: autonomous transactions Andres Freund <andres@anarazel.de>
Re: autonomous transactions Joel Jacobson <joel@trustly.com>
Re: autonomous transactions Jaime Casanova <jaime.casanova@2ndquadrant.com>
Re: autonomous transactions Joel Jacobson <joel@trustly.com>
Re: autonomous transactions Vik Fearing <vik@2ndquadrant.fr>
Re: autonomous transactions Joel Jacobson <joel@trustly.com>
Re: autonomous transactions Pavel Stehule <pavel.stehule@gmail.com>
Re: autonomous transactions Simon Riggs <simon@2ndquadrant.com>
Re: autonomous transactions Joel Jacobson <joel@trustly.com>
Re: autonomous transactions Jaime Casanova <jaime.casanova@2ndquadrant.com>
Re: autonomous transactions Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: autonomous transactions Greg Stark <stark@mit.edu>
Re: autonomous transactions "Constantin S. Pan" <kvapen@gmail.com>
Re: autonomous transactions Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: autonomous transactions Serge Rielau <serge@rielau.com>
Re: autonomous transactions Craig Ringer <craig@2ndquadrant.com>
Re: autonomous transactions Petr Jelinek <petr@2ndquadrant.com>
Re: autonomous transactions Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: autonomous transactions Greg Stark <stark@mit.edu>
background sessions Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] background sessions Andrew Borodin <borodin@octonica.com>
Re: [HACKERS] background sessions Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] background sessions Andrew Borodin <borodin@octonica.com>
Re: [HACKERS] background sessions Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] background sessions Andrew Borodin <borodin@octonica.com>
Re: [HACKERS] background sessions Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] background sessions Andrew Borodin <borodin@octonica.com>
Re: [HACKERS] background sessions Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] autonomous transactions Andrey Borodin <amborodin@acm.org>
Re: [HACKERS] autonomous transactions Michael Paquier <michael.paquier@gmail.com>
Re: [HACKERS] background sessions Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] background sessions Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] background sessions Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] background sessions Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] background sessions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] background sessions Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] background sessions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] background sessions Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] background sessions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] background sessions Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] background sessions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] background sessions Petr Jelinek <petr.jelinek@2ndquadrant.com>
Re: [HACKERS] background sessions Robert Haas <robertmhaas@gmail.com>
Re: background sessions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] background sessions Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] background sessions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] background sessions Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] background sessions Andrew Borodin <borodin@octonica.com>
Re: [HACKERS] background sessions amul sul <sulamul@gmail.com>
Re: [HACKERS] background sessions Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] background sessions Andrew Borodin <borodin@octonica.com>
Re: [HACKERS] background sessions amul sul <sulamul@gmail.com>
Re: [HACKERS] background sessions Andrew Borodin <borodin@octonica.com>
Re: [HACKERS] background sessions amul sul <sulamul@gmail.com>
Re: [HACKERS] background sessions amul sul <sulamul@gmail.com>
Re: [HACKERS] background sessions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] background sessions Craig Ringer <craig.ringer@2ndquadrant.com>
Re: [HACKERS] background sessions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] background sessions Craig Ringer <craig.ringer@2ndquadrant.com>
Re: [HACKERS] background sessions Petr Jelinek <petr.jelinek@2ndquadrant.com>
Re: background sessions Haribabu Kommi <kommi.haribabu@gmail.com>

From: pgsql-hackers-owner@postgresql.org [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Craig Ringer
> Of course, if we could decrease the startup cost of a bgworker

For this use in autonomous tx's we could probably pool workers. Or at least lazily terminate them so that the loop cases work better by re-using an existing bgworker.

 

Though I may say something odd, isn’t the bgworker approach going to increase context switches?  I thought PostgreSQL has made efforts to decrease context switches, e.g.

 

* Each backend itself writes WAL to disk unlike Oracle requests LGWR process to write REDO to disk.

 

* Releasing and re-acquiring a lwlock appears to try to avoid context switches.

 

           /*

           * Loop here to try to acquire lock after each time we are signaled by

           * LWLockRelease.

           *

           * NOTE: it might seem better to have LWLockRelease actually grant us the

           * lock, rather than retrying and possibly having to go back to sleep. But

           * in practice that is no good because it means a process swap for every

           * lock acquisition when two or more processes are contending for the same

           * lock.  Since LWLocks are normally used to protect not-very-long

           * sections of computation, a process needs to be able to acquire and

           * release the same lock many times during a single CPU time slice, even

           * in the presence of contention.  The efficiency of being able to do that

           * outweighs the inefficiency of sometimes wasting a process dispatch

           * cycle because the lock is not free when a released waiter finally gets

           * to run.  See pgsql-hackers archives for 29-Dec-01.

            */

 

I’m not sure whether to be nervous about the context switch cost in the use cases of autonomous transactions.

 

Regards

Takayuki Tsunakawa

 

В списке pgsql-hackers по дате отправления
От: Michael Paquier
Дата:
От: Peter Geoghegan
Дата:
FAQ