When pgbench -i , it did already done vacuuming just before pgbench tpc-b test, below is the output of init loading. Same postgresql.conf for both v14 and v13, please check attached.
date;pgbench -i -s 6000 -F 85 -U pgbench --partitions 6 Fri Dec 9 05:54:17 GMT 2022 dropping old tables... creating tables... creating 6 partitions... generating data (client-side)... 600000000 of 600000000 tuples (100%) done (elapsed 577.18 s, remaining 0.00 s)) vacuuming... creating primary keys... done in 1568.52 s (drop tables 8.40 s, create tables 0.02 s, client-side generate 579.66 s, vacuum 339.54 s, primary keys 640.91 s). Thanks, James From: Samed YILDIRIM <sa...@reddoc.net> Sent: Thursday, December 15, 2022 4:38 PM To: James Pang (chaolpan) <chaol...@cisco.com> Cc: pgsql-performance@lists.postgresql.org Subject: Re: DML sql execution time slow down PGv14 compared with PGv13 Hello James, Could you please add configurations of your PostgreSQL installations too? I also wonder why you skip vacuuming (-n parameter) before starting of tests. Best regards. Samed YILDIRIM On Thu, 15 Dec 2022 at 10:22, James Pang (chaolpan) <chaol...@cisco.com<mailto:chaol...@cisco.com>> wrote: Hi, We had some load test ( DML inserts/deletes/updates) and found that PGV14 slow down 10-15% compared with PGV13. Same test server, same schema tables and data. From pg_stat_statements, sql exec_time, we did found similar mean_exec_time increased from 20%-30% with same SQL statements. Both v14 and v13 give very fast sql response time, just compare the %diff from sql statements mean_exec_time. Now, I get a pgbench test in same server, the steps as below, small sql statement running very fast, not like our application load test that show INSERTS slow down 20-30%, but did see v14 slow down 5-10% for DML,compared with v13. 1.date;pgbench -i -s 6000 -F 85 -U pgbench --partition-method=hash --partitions=32 2.reboot OS to refresh buffer 3.run four rounds of test: date;pgbench -c 10 -j 10 -n -T 180 -U pgbench -M prepared Compare 14.6 and 13.9 on RHEL8.4, the “add primary key” step 14.6 much fast than 13.9, but most of insert/updates slow down 5-10%. The table is very simple and sql should be same, no idea what contribute to the sql exec_time difference? Attached please find sql exec_time. I copy the sql here too, version min_exec_time max_exec_time mean_exec_time calls SQL 13.9 0.002814 1.088559 0.004214798 3467468 INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES ($1, $2, $3, $4, CURRENT_TIMESTAMP) 14.6 0.003169 0.955241 0.004482497 3466665 INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES ($1, $2, $3, $4, CURRENT_TIMESTAMP) %diff 12.61549396 6.351410351 13.9 0.013449 15.638027 1.18372356 3467468 UPDATE pgbench_accounts SET abalance = abalance + $1 WHERE aid = $2 14.6 0.016109 133.106913 1.228978518 3466665 UPDATE pgbench_accounts SET abalance = abalance + $1 WHERE aid = $2 %diff 19.77842219 3.823101875 13.9 0.005433 2.051736 0.008532748 3467468 UPDATE pgbench_branches SET bbalance = bbalance + $1 WHERE bid = $2 14.6 0.00625 1.847688 0.009062454 3466665 UPDATE pgbench_branches SET bbalance = bbalance + $1 WHERE bid = $2 %diff 15.03773238 6.207914363 Thanks, James
postgresql.conf
Description: postgresql.conf