Re: Perf Benchmarking and regression. - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Perf Benchmarking and regression.
Date
Msg-id 20160506150545.lwfdtoppa4icubfy@alap3.anarazel.de
Whole thread Raw
In response to Perf Benchmarking and regression.  (Mithun Cy <mithun.cy@enterprisedb.com>)
Responses Re: Perf Benchmarking and regression.
List pgsql-hackers
Hi,

Thanks for benchmarking!

On 2016-05-06 19:43:52 +0530, Mithun Cy wrote:
> 1. # first bad commit: [ac1d7945f866b1928c2554c0f80fd52d7f977772] Make idle
> backends exit if the postmaster dies.
> this made performance to drop from
> 
> 15947.21546 (15K +) to 13409.758510 (arround 13K+).

Let's debug this one first, it's a lot more local.  I'm rather surprised
that you're seing a big effect with that "few" TPS/socket operations;
and even more that our efforts to address that problem haven't been
fruitful (given we've verified the fix on a number of machines).

Can you verify that removing   AddWaitEventToSet(FeBeWaitSet, WL_POSTMASTER_DEATH, -1, NULL, NULL);
in src/backend/libpq/pqcomm.c : pq_init() restores performance?

I think it'd be best to test the back/forth on master with
bgwriter_flush_after = 0
checkpointer_flush_after = 0
backend_flush_after = 0
to isolate the issue.

Also, do you see read-only workloads to be affected too?

> 2. # first bad commit: [428b1d6b29ca599c5700d4bc4f4ce4c5880369bf] Allow to
> trigger kernel writeback after a configurable number of writes.

FWIW, it'd be very interesting to test again with a bigger
backend_flush_after setting.


Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Kohei KaiGai
Date:
Subject: Re: textlike under the LIKE operator for char(n)
Next
From: Tom Lane
Date:
Subject: Re: Poorly-thought-out handling of double variables in pgbench