Re: WIP patch for hint bit i/o mitigation - Mailing list pgsql-hackers
From | Amit Kapila |
---|---|
Subject | Re: WIP patch for hint bit i/o mitigation |
Date | |
Msg-id | 00d301cdd398$6e3fff30$4abffd90$@kapila@huawei.com Whole thread Raw |
In response to | Re: WIP patch for hint bit i/o mitigation (Greg Smith <greg@2ndQuadrant.com>) |
List | pgsql-hackers |
On Thursday, November 22, 2012 3:00 AM Greg Smith wrote: > On 11/16/12 9:03 AM, Merlin Moncure wrote: > > Atri ran some quick n dirty tests to see if there > > were any regressions. He benched a large scan followed by vacuum. So > > far, results are inconclusive so better testing methodologies will > > definitely be greatly appreciated. One of the challenges with working > > in this part of the code is that it's quite difficult to make changes > > without impacting at least some workloads. > > I'm adding something to pgbench-tools to test for some types of vacuum > regressions that I've seen before. And the checksum benchmarking I've > already signed up for overlaps with this one quite a bit. I'd suggest > reviewers here focus on code quality, correctness, and targeted > optimization testing. I'm working heavily on a larger benchmarking > framework that both this and checksums will fit into right now. We are planning below performance tests for hint-bit I/O mitigation patch: Test case -1: Select performance in sequential scan and vacuum operation with I/O statistics Bulk operations are happened in multiple transactions. 1. Stop the auto-vacuum. 2. Create table 3. Insert 10000 records in one transaction for 1000 times. 4A. Use pgbench to select all the records using sequentialscan for 5 min - 8 threads. 4B. Record the IO statistics. 5. After completion of test-case check VACUUM performance. Test case -2: Select performance in index scan and vacuum operation with I/O statistics Same as testcase - 1 change the 4A as follows 4A. Use pgbench with -F option to select randomrecords using index scan for 5 min - 8 threads. Test case -3: Select performance in sequential scan and vacuum operation with I/O statistics When bulk operations are happened in one transaction. 1. Stop the auto-vacuum. 2. Create table 3.Insert 10,000,000 times. 4A. Use pgbench to select all the records using sequential scan for 5 min - 8 threads. 4B. Record the IO statistics. 5. After completion of test-case check VACUUM performance. Test case -4: Select performance in index scan and vacuum operation with I/O statistics Same as testcase - 3 change the 4A as follows 4A. Use pgbench to select random records usingindex scan for 5 min - 8 threads. Test case -5: Check original pgbench performance & vacuum operation 1. For select only and tcp_b performance suiteswith scale factor of 75 & 150, threads 8 &16 Test case -6:(Vacuum I/O may increase if vacuum need to make the page dirty only for setting the hit bits. ) 1. Session - 1 : Open a some long transaction 2. Session - 2 : Insert some records & commit Do the select- all the tuples. Checkpoint; Vacuumthe table Checkpoint; 3. Record the IO statistics & time takenfor Vacuum & 2nd Checkpoint. Test case -7: (This is also to check Vacuum I/O) 1. Have replication setup. 2. Insert some records& commit 3. Vacuum the table 4. Upgrade the standby. 5. Select the allthe tuples on new master 6. Vacuum the tbl on new master. 6B. Record the IO statistics &time taken for Vacuum on new master. Suggestions/Feedback With Regards, Amit Kapila.
pgsql-hackers by date: