On Wed, Sep 04, 2019 at 07:19:47PM +0300, Sergei Kornilov wrote:

...

Results:

        test         |   mode   | average_tps | degradation_perc
----------------------+----------+-------------+------------------
head_no_pgss         | extended |       13816 |            1.000
patch_not_loaded     | extended |       13755 |            0.996
head_track_none      | extended |       13607 |            0.985
patch_track_none     | extended |       13560 |            0.981
head_track_top       | extended |       13277 |            0.961
patch_track_top      | extended |       13189 |            0.955
patch_track_planning | extended |       12983 |            0.940
head_no_pgss         | prepared |       29101 |            1.000
head_track_none      | prepared |       28510 |            0.980
patch_track_none     | prepared |       28481 |            0.979
patch_not_loaded     | prepared |       28382 |            0.975
patch_track_planning | prepared |       28046 |            0.964
head_track_top       | prepared |       28035 |            0.963
patch_track_top      | prepared |       27973 |            0.961
head_no_pgss         | simple   |       16733 |            1.000
patch_not_loaded     | simple   |       16552 |            0.989
head_track_none      | simple   |       16452 |            0.983
patch_track_none     | simple   |       16365 |            0.978
head_track_top       | simple   |       15867 |            0.948
patch_track_top      | simple   |       15820 |            0.945
patch_track_planning | simple   |       15739 |            0.941

So I found slight slowdown with track_planning = off compared to HEAD. Possibly 
just at the level of measurement error. I think this is ok.
track_planning = on also has no dramatic impact. In my opinion proposed design 
with pgss_store call is acceptable.


FWIW I've done some benchmarking on this too, with a single pgbench client
running select-only test on a tiny database, in different modes (simple,
extended, prepared). I've done that on two systems with different CPUs
(spreadsheet with results attached).

I don't see any performance regression - there are some small variations
in both directions (say, ~1%) but that's well within the noise. So I think
the patch is fine in this regard.

regards

--
Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Reply via email to