Re: Slow standby snapshot

From: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
To: simon(dot)riggs(at)enterprisedb(dot)com
Cc: x4mmm(at)yandex-team(dot)ru, michail(dot)nikolaev(at)gmail(dot)com, aekorotkov(at)gmail(dot)com, andres(at)anarazel(dot)de, reshkekirill(at)gmail(dot)com, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Slow standby snapshot
Date: 2022-08-03 01:04:14
Message-ID: 20220803.100414.1285081523809688577.horikyota.ntt@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

At Tue, 2 Aug 2022 16:18:44 +0100, Simon Riggs <simon(dot)riggs(at)enterprisedb(dot)com> wrote in
> On Tue, 2 Aug 2022 at 12:32, Andrey Borodin <x4mmm(at)yandex-team(dot)ru> wrote:
>
> > KnownAssignedXidsRemoveTree() only compress with probability 1/8, but it is still O(N*N).
>
> Currently it is O(NlogS), not quite as bad as O(N^2).
>
> Since each xid in the tree is always stored to the right, it should be
> possible to make that significantly better by starting each binary
> search from the next element, rather than the start of the array.
> Something like the attached might help, but we can probably make that
> cache conscious to improve things even more.

The original complaint is KnownAssignedXidsGetAndSetXmin can get very
slow for large max_connections. I'm not sure what was happening on the
KAXidsArray at the time precisely, but if the array starts with a
large number of invalid entries (I guess it is likely), and the
variable "start" were available to the function (that is, it were
placed in procArray), that strategy seems to work for this case. With
this strategy we can avoid compression if only the relatively narrow
range in the array is occupied.

regards.

--
Kyotaro Horiguchi
NTT Open Source Software Center

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Kyotaro Horiguchi 2022-08-03 01:20:27 Re: [BUG] Logical replication failure "ERROR: could not map filenode "base/13237/442428" to relation OID" with catalog modifying txns
Previous Message Tom Lane 2022-08-03 00:56:55 Re: collate not support Unicode Variation Selector