BLCKSZ fun facts

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: pgsql-hackers(at)postgresql(dot)org
Subject: BLCKSZ fun facts
Date: 2006-11-28 16:46:30
Message-ID: 200611281746.32245.peter_e@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

The smallest BLCKSZ that you can compile is 256. But ...

The smallest BLCKSZ that actually works is 1024, because of this code in
guc.c:

case GUC_UNIT_BLOCKS:
val /= (BLCKSZ / 1024);

Maybe it's worth adding an #error here to prevent smaller sizes being
used?

The smallest BLCKSZ that passes the regression tests is 4096. With
smaller settings your get half a dozen ordering differences, which
seems OK.

The shared memory configuration code in initdb doesn't know about
BLCKSZ, so with smaller sizes you get less shared buffers. Maybe that
is worth fixing sometime.

Aside from that my pgbench testing clearly shows that block sizes larger
than 2048 become progressively slower. Go figure.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2006-11-28 16:52:29 Re: [HACKERS] FAQs and Port Status
Previous Message Andrew Sullivan 2006-11-28 16:40:39 Re: Configuring BLCKSZ and XLOGSEGSZ (in 8.3)

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2006-11-28 17:08:59 Re: BLCKSZ fun facts
Previous Message Andrew Sullivan 2006-11-28 16:40:39 Re: Configuring BLCKSZ and XLOGSEGSZ (in 8.3)