Re: Improving connection scalability (src/backend/storage/ipc/procarray.c)

From: Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Improving connection scalability (src/backend/storage/ipc/procarray.c)
Date: 2022-05-25 09:07:01
Message-ID: CAEudQAost+uiVHVfE80amODjKmeJoeQ5NN3uHqXmCMq4imq+5w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Em qua., 25 de mai. de 2022 às 00:46, Andres Freund <andres(at)anarazel(dot)de>
escreveu:

Hi Andres, thank you for taking a look.

>
> On 2022-05-24 12:28:20 -0300, Ranier Vilela wrote:
> > Linux Ubuntu 64 bits (gcc 9.4)
> > ./pgbench -M prepared -c $conns -j $conns -S -n -U postgres
> >
> > conns tps head tps patched
> > 1 2918.004085 3190.810466
> > 10 12262.415696 17199.862401
> > 50 13656.724571 18278.194114
> > 80 14338.202348 17955.336101
> > 90 16597.510373 18269.660184
> > 100 17706.775793 18349.650150
> > 200 16877.067441 17881.250615
> > 300 16942.260775 17181.441752
> > 400 16794.514911 17124.533892
> > 500 16598.502151 17181.244953
> > 600 16717.935001 16961.130742
> > 700 16651.204834 16959.172005
> > 800 16467.546583 16834.591719
> > 900 16588.241149 16693.902459
> > 1000 16564.985265 16936.952195
>
> 17-18k tps is pretty low for pgbench -S. For a shared_buffers resident
> run, I
> can get 40k in a single connection in an optimized build. If you're
> testing a
> workload >> shared_buffers, GetSnapshotData() isn't the bottleneck. And
> testing an assert build isn't a meaningful exercise either, unless you have
> way way higher gains (i.e. stuff like turning O(n^2) into O(n)).
>
Thanks for sharing these hits.
Yes, their 17-18k tps are disappointing.

> What pgbench scale is this and are you using an optimized build?
>
Yes this optimized build.
CFLAGS='-Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Werror=vla -Wendif-labels
-Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type
-Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard
-Wno-format-truncation -Wno-stringop-truncation -O2'
from config.log

pgbench was initialized with:
pgbench -i -p 5432 -d postgres

pgbench -M prepared -c 100 -j 100 -S -n -U postgres
pgbench (15beta1)
transaction type: <builtin: select only>
scaling factor: 1
query mode: prepared
number of clients: 100
number of threads: 100

The shared_buffers is default:
shared_buffers = 128MB

Intel® Core™ i5-8250U CPU Quad Core
RAM 8GB
SSD 256 GB

Can you share the pgbench configuration and shared buffers
this benchmark?
https://www.postgresql.org/message-id/20200301083601.ews6hz5dduc3w2se%40alap3.anarazel.de

regards,
Ranier Vilela

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Ranier Vilela 2022-05-25 09:22:24 Re: Improving connection scalability (src/backend/storage/ipc/procarray.c)
Previous Message Zhihong Yu 2022-05-25 08:20:36 Re: adding status for COPY progress report