Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock)
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@commandprompt.com>
Cc: Simon Riggs <simon@2ndquadrant.com>, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Fujii Masao <masao.fujii@gmail.com>, Jeff Janes <jeff.janes@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2012-03-07T15:04:19Z
Lists: pgsql-hackers
Alvaro Herrera <alvherre@commandprompt.com> writes: > Just to keep things in perspective -- For a commit record to reach one > megabyte, it would have to be a transaction that drops over 43k tables. > Or have 64k smgr inval messages (for example, a TRUNCATE might send half > a dozen of these messages). Or have 262k subtransactions. Or > combinations thereof. > Now admittedly, a page is only 8 kB, so for a commit record to be "many > pages long" (that is, >=3) it would require about 1500 smgr inval > messages, or, say, about 250 TRUNCATEs (of permanent tables with at > least one toastable field and at least one index). What about the locks (if running hot-standby)? > So they are undoubtely rare. Not sure if as rare as Higgs bosons. Even if they're rare, having a major performance hiccup when one happens is not a side-effect I want to see from a patch whose only reason to exist is better performance. regards, tom lane