Hi feichanghong
    I don't think it's acceptable to introduce a patch to fix a problem
that leads to performance degradation, or can we take tom's suggestion to
optimise PreCommit_on_commit_actions?  I think it to miss the forest for
the trees



Best Regards,

feichanghong <feichangh...@qq.com> 于2024年7月8日周一 10:35写道:

> Hi wenhui,
>
> Thank you for your suggestions. I have supplemented some performance tests.
>
> Here is the TPS performance data for different numbers of temporary tables
> under different thresholds, as compared with the head (98347b5a). The
> testing
> tool used is pgbench, with the workload being to insert into one temporary
> table (when the number of temporary tables is 0, the workload is SELECT 1):
>
> | table num     | 0            | 1            | 5           | 10
> | 100         | 1000        |
>
> |---------------|--------------|--------------|-------------|-------------|-------------|-------------|
> | head 98347b5a | 39912.722209 | 10064.306268 | 7452.071689 | 5641.487369
> | 1073.203851 | 114.530958  |
> | threshold 1   | 40332.367414 | 7078.117192  | 7044.951156 | 7020.249434
> | 6893.652062 | 5826.597260 |
> | threshold 5   | 40173.562744 | 10017.532933 | 7023.770203 | 7024.283577
> | 6919.769315 | 5806.314494 |
>
> Here is the TPS performance data for different numbers of temporary tables
> at a threshold of 5, compared with the head (commit 98347b5a). The testing
> tool
> is pgbench, with the workload being to insert into all temporary tables:
>
> | table num     | 1           | 5           | 10          | 100        |
> 1000      |
>
> |---------------|-------------|-------------|-------------|------------|-----------|
> | head 98347b5a | 7243.945042 | 3627.290594 | 2262.594766 | 297.856756 |
> 27.745808 |
> | threshold 5   | 7287.764656 | 3130.814888 | 2038.308763 | 288.226032 |
> 27.705149 |
>
> According to test results, the patch does cause some performance loss with
> fewer temporary tables, but benefits are substantial when many temporary
> tables
> are used. The specific threshold could be set to 10 (HDDs may require a
> smaller
> one).
>
> I've provided two patches in the attachments, both with a default
> threshold of 10.
> One has the threshold configured as a GUC parameter, while the other is
> hardcoded
> to 10.
> ------------------------------
> Best Regards,
> Fei Changhong
>

Reply via email to