Re: LISTEN/NOTIFY bug: VACUUM sets frozenxid past a xid in async queue - Mailing list pgsql-hackers
| From | Joel Jacobson |
|---|---|
| Subject | Re: LISTEN/NOTIFY bug: VACUUM sets frozenxid past a xid in async queue |
| Date | |
| Msg-id | f118ff45-5978-4225-9545-56b3af83122b@app.fastmail.com Whole thread Raw |
| In response to | Re: LISTEN/NOTIFY bug: VACUUM sets frozenxid past a xid in async queue (Heikki Linnakangas <hlinnaka@iki.fi>) |
| List | pgsql-hackers |
On Tue, Nov 4, 2025, at 13:09, Heikki Linnakangas wrote: > With that and the patches I posted > previously, I'm getting: > > $ PGHOST=localhost PGDB=postgres://localhost/postgres > ./async-notify-test-3 --listeners=50 --notifiers=4 --channels=1 > --extra-channels=10000 > 10 s: 12716 sent (1274/s), 635775 received (63737/s) > 0.00-0.01ms 0 (0.0%) avg: 0.000ms > 0.01-0.10ms 0 (0.0%) avg: 0.000ms > 0.10-1.00ms # 1915 (0.3%) avg: 0.807ms > 1.00-10.00ms ######### 633550 (99.7%) avg: 3.502ms > 10.00-100.00ms # 310 (0.0%) avg: 11.423ms > >100.00ms 0 (0.0%) avg: 0.000ms > ^C > > Whereas on 'master', I see about 2-3x more notifies/s: > > $ PGHOST=localhost PGDB=postgres://localhost/postgres > ./async-notify-test-3 --listeners=50 --notifiers=4 --channels=1 > --extra-channels=10000 > 10 s: 32057 sent (3296/s), 1602995 received (164896/s) > 0.00-0.01ms 0 (0.0%) avg: 0.000ms > 0.01-0.10ms # 11574 (0.7%) avg: 0.078ms > 0.10-1.00ms ###### 1082960 (67.6%) avg: 0.577ms > 1.00-10.00ms ### 508199 (31.7%) avg: 1.489ms > 10.00-100.00ms # 262 (0.0%) avg: 16.178ms > >100.00ms 0 (0.0%) avg: 0.000ms Nice with the --extra-channels addition! Below results on my MacBook Pro M3 Max. I ran them for 30s to get more stable distributions. % ninja install C compiler for the host machine: cc (clang 17.0.0 "Apple clang version 17.0.0 (clang-1700.0.13.5)") C linker for the host machine: cc ld64 1167.5 Host machine cpu family: aarch64 Host machine cpu: aarch64 buildtype: release % gcc -Wall -Wextra -O2 -pthread -I/Users/joel/pg19/include/postgresql/server -I/Users/joel/pg19/include -o async-notify-test-3async-notify-test-3.c -L/Users/joel/pg19/lib -lpq -pthread -lm % ./async-notify-test-3 --listeners=50 --notifiers=4 --channels=1 --extra-channels=10000 # master (c98dffcb7c7010d216dc16d22cb594ef7d65fde1) 30 s: 293329 sent (9656/s), 14653182 received (480181/s) 0.00-0.01ms 0 (0.0%) avg: 0.000ms 0.01-0.10ms # 298195 (2.0%) avg: 0.078ms 0.10-1.00ms ## 3060085 (20.9%) avg: 0.390ms 1.00-10.00ms ## 3310362 (22.6%) avg: 4.242ms 10.00-100.00ms ##### 7482595 (51.1%) avg: 44.441ms >100.00ms # 501945 (3.4%) avg: 119.257ms # 0001-Fix-bug-where-we-truncated-CLOG-that-was-still-neede.patch # 0002-Hold-SLRU-bank-lock-across-TransactionIdDidCommit-in.patch 30 s: 87462 sent (3174/s), 4373100 received (158698/s) 0.00-0.01ms 0 (0.0%) avg: 0.000ms 0.01-0.10ms # 16 (0.0%) avg: 0.091ms 0.10-1.00ms # 576554 (13.2%) avg: 0.798ms 1.00-10.00ms ######## 3796530 (86.8%) avg: 1.589ms 10.00-100.00ms 0 (0.0%) avg: 0.000ms >100.00ms 0 (0.0%) avg: 0.000ms # v2-0001-Fix-bug-where-we-truncated-CLOG-that-was-still-ne.patch # v2-0002-Fix-remaining-race-condition-with-CLOG-truncation.patch 30 s: 274342 sent (10134/s), 13708284 received (525274/s) 0.00-0.01ms 0 (0.0%) avg: 0.000ms 0.01-0.10ms # 241981 (1.8%) avg: 0.079ms 0.10-1.00ms ### 4213484 (30.7%) avg: 0.399ms 1.00-10.00ms # 2727917 (19.9%) avg: 4.033ms 10.00-100.00ms #### 5920198 (43.2%) avg: 46.500ms >100.00ms # 604712 (4.4%) avg: 118.336ms /Joel
pgsql-hackers by date: