From: | Aleksander Alekseev <a(dot)alekseev(at)postgrespro(dot)ru> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Teodor Sigaev <teodor(at)sigaev(dot)ru>, Andres Freund <andres(at)anarazel(dot)de>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Patch: fix lock contention for HASHHDR.mutex |
Date: | 2015-12-30 13:01:37 |
Message-ID: | 20151230160137.034371e0@fujitsu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Here is a clean version of the patch. Step 1 is an optimization. Step 2
refactors this:
HTAB *
ShmemInitHash(const char *name, /* table string name for shmem index */
- long init_size, /* initial table size */
+ long init_size, /* initial table size XXX ignored,
refactor! */
As I understand there is no performance degradation:
Before
======
Core i7, pgbench -j 8 -c 8 -T 50 pgbench:
```
number of transactions actually processed: 14315
latency average: 27.945 ms
latency stddev: 44.920 ms
tps = 286.097043 (including connections establishing)
tps = 286.127642 (excluding connections establishing)
```
60-core server, pgbench -j 64 -c 64 -T 50 pgbench:
```
number of transactions actually processed: 176127
latency average: 18.162 ms
latency stddev: 23.861 ms
tps = 3521.069672 (including connections establishing)
tps = 3522.166706 (excluding connections establishing)
```
After
=====
Core i7, pgbench -j 8 -c 8 -T 50 pgbench:
```
number of transactions actually processed: 14212
latency average: 27.984 ms
latency stddev: 43.250 ms
tps = 284.038588 (including connections establishing)
tps = 285.112772 (excluding connections establishing)
```
60-core server, pgbench -j 64 -c 64 -T 50 pgbench:
```
number of transactions actually processed: 172135
latency average: 17.767 ms
latency stddev: 22.692 ms
tps = 3590.410302 (including connections establishing)
tps = 3594.607165 (excluding connections establishing)
```
Attachment | Content-Type | Size |
---|---|---|
dynahash-optimization-v10-step1.patch | text/x-patch | 12.6 KB |
dynahash-optimization-v10-step2.patch | text/x-patch | 5.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2015-12-30 13:17:24 | Re: Better detail logging for password auth failures |
Previous Message | José Luis Tallón | 2015-12-30 12:45:20 | Re: pg_controldata/pg_resetxlog "Latest checkpoint's NextXID" format |