Moving more work outside WALInsertLock

Поиск
Список
Период
Сортировка
Искать
От
Heikki Linnakangas
Тема
Moving more work outside WALInsertLock
Дата
Msg-id
4EE9FB65.3040604@enterprisedb.com
Список
Дерево обсуждения
Moving more work outside WALInsertLock Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Moving more work outside WALInsertLock Andres Freund <andres@anarazel.de>
Re: Moving more work outside WALInsertLock Tom Lane <tgl@sss.pgh.pa.us>
Re: Moving more work outside WALInsertLock Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Moving more work outside WALInsertLock Simon Riggs <simon@2ndQuadrant.com>
Re: Moving more work outside WALInsertLock Jeff Janes <jeff.janes@gmail.com>
Re: Moving more work outside WALInsertLock Tom Lane <tgl@sss.pgh.pa.us>
Re: Moving more work outside WALInsertLock Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Moving more work outside WALInsertLock Simon Riggs <simon@2ndQuadrant.com>
Re: Moving more work outside WALInsertLock Tom Lane <tgl@sss.pgh.pa.us>
Re: Moving more work outside WALInsertLock Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Moving more work outside WALInsertLock Simon Riggs <simon@2ndQuadrant.com>
Re: Moving more work outside WALInsertLock Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Moving more work outside WALInsertLock Simon Riggs <simon@2ndQuadrant.com>
Re: Moving more work outside WALInsertLock Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Moving more work outside WALInsertLock Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Moving more work outside WALInsertLock Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Moving more work outside WALInsertLock Robert Haas <robertmhaas@gmail.com>
Re: Moving more work outside WALInsertLock Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Moving more work outside WALInsertLock Robert Haas <robertmhaas@gmail.com>
Re: Moving more work outside WALInsertLock Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Moving more work outside WALInsertLock Simon Riggs <simon@2ndQuadrant.com>
Re: Moving more work outside WALInsertLock Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Robert Haas <robertmhaas@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Simon Riggs <simon@2ndQuadrant.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Jeff Janes <jeff.janes@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Jeff Janes <jeff.janes@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Amit Kapila <amit.kapila@huawei.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Tom Lane <tgl@sss.pgh.pa.us>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Tom Lane <tgl@sss.pgh.pa.us>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Tom Lane <tgl@sss.pgh.pa.us>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Simon Riggs <simon@2ndQuadrant.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Alvaro Herrera <alvherre@commandprompt.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Tom Lane <tgl@sss.pgh.pa.us>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Simon Riggs <simon@2ndQuadrant.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Tom Lane <tgl@sss.pgh.pa.us>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Tom Lane <tgl@sss.pgh.pa.us>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Robert Haas <robertmhaas@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Jeff Janes <jeff.janes@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Robert Haas <robertmhaas@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Jeff Janes <jeff.janes@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Jeff Janes <jeff.janes@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Jeff Janes <jeff.janes@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Fujii Masao <masao.fujii@gmail.com>
Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Moving more work outside WALInsertLock Simon Riggs <simon@2ndQuadrant.com>
Re: Moving more work outside WALInsertLock Simon Riggs <simon@2ndQuadrant.com>
Re: Moving more work outside WALInsertLock Fujii Masao <masao.fujii@gmail.com>
Re: Moving more work outside WALInsertLock Greg Stark <stark@mit.edu>
I've been looking at various ways to make WALInsertLock less of a 
bottleneck on multi-CPU servers. The key is going to be to separate the 
two things that are done while holding the WALInsertLock: a) allocating 
the required space in the WAL, and b) calculating the CRC of the record 
header and copying the data to the WAL page. a) needs to be serialized, 
but b) could be done in parallel.

I've been experimenting with different approaches to do that, but one 
thing is common among all of them: you need to know the total amount of 
WAL space needed for the record, including backup blocks, before you 
take the lock. So, here's a patch to move things around in XLogInsert() 
a bit, to accomplish that.

This patch doesn't seem to have any performance or scalability impact. I 
must admit I expected it to give a tiny gain in scalability by 
shortening the time WALInsertLock is held by a few instructions, but I 
can't measure any. But IMO it makes the code more readable, so this is 
worthwhile for that reason alone.

-- 
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления
От: Alvaro Herrera
Дата:
От: Robert Haas
Дата:
FAQ