RE: [Patch] Optimize dropping of relation buffers using dlist

From: "tsunakawa(dot)takay(at)fujitsu(dot)com" <tsunakawa(dot)takay(at)fujitsu(dot)com>
To: "k(dot)jamison(at)fujitsu(dot)com" <k(dot)jamison(at)fujitsu(dot)com>
Cc: 'Kyotaro Horiguchi' <horikyota(dot)ntt(at)gmail(dot)com>, "amit(dot)kapila16(at)gmail(dot)com" <amit(dot)kapila16(at)gmail(dot)com>, "tgl(at)sss(dot)pgh(dot)pa(dot)us" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "andres(at)anarazel(dot)de" <andres(at)anarazel(dot)de>, "robertmhaas(at)gmail(dot)com" <robertmhaas(at)gmail(dot)com>, "tomas(dot)vondra(at)2ndquadrant(dot)com" <tomas(dot)vondra(at)2ndquadrant(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: RE: [Patch] Optimize dropping of relation buffers using dlist
Date: 2020-10-21 01:34:23
Message-ID: TYAPR01MB29901EEEF0505EC6E249DFDCFE1C0@TYAPR01MB2990.jpnprd01.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

From: tsunakawa(dot)takay(at)fujitsu(dot)com <tsunakawa(dot)takay(at)fujitsu(dot)com>
> Can you measure the time DropRelFileNodeBuffers()? You can call
> GetTimestamp() at the beginning and end of the function, and use
> TimestampDifference() to calculate the difference. Then, for instance,
> elog(WARNING, "time is | %u.%u", sec, usec) at the end of the function. You
> can use any elog() print format for your convenience to write shell commands to
> filter the lines and sum up the total.

Before doing this, you can also do "VACUUM (truncate off)" to see which of the garbage collection or relation truncation takes long time. The relation truncation processing includes not only DropRelFileNodeBuffers() but also file truncation and something else, but it's an easy filter.

Regards
Takayuki Tsunakawa

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2020-10-21 01:54:31 Re: [PATCH] SET search_path += octopus
Previous Message Tom Lane 2020-10-21 01:17:22 Re: pg_upgrade: fail early if a tablespace dir already exists for new cluster version