On Thu, Dec 7, 2012 at 7:56 PM, Hari babu
<haribabu(dot)kommi(at)Huawei(dot)com> wrote:

>>On Thu, Dec 6, 2012 at 8:52 PM, Merlin Moncure <mmonc...@gmail.com> wrote:

>>Thanks for that -- that's fairly comprehensive I'd say.  I'm quite 

 

>>interested in that benchmarking framework as well.  Do you need help 

>>setting up the scripts?

 

>Presently I am testing with pgbench custom query option & taking IO & VM
statistics in parallel. 

>Following way I had written the test script for case -1.

 

>./psql -f bench_test_1_init.sql postgres iostat -t 1 -d >
hint.test1.iostat.reading_3.txt & vmstat -n 1 >
>hint.test1.vmstat.reading_3.txt & ./pgbench -f bench_test_1.sql -T 300 -c 8
-j 8 -n postgres killall -s SIGINT iostat >killall -s SIGINT vmstat

 

>Where the sql files are as follows:

>-- bench_test_1.sql

>select count(*) from  bench where f1 is not null;

 

>--bench_test_1_init.sql

>drop table if exists bench;

>create table bench(f0 int primary key, f1 char(50)); insert into bench
values (generate_series(1, 100000), 'a'); insert >into bench values
(generate_series(100001, 200000), 'a'); ...

>insert into bench values (generate_series(9800001, 9900000), 'a'); insert
into bench values (generate_series(9900001, >10000000), 'a'); checkpoint;

 

>I will provide the test results later.

 

Please find the review of the patch. 

Basic stuff: 
------------ 
- Patch applies with offsets. 
- Compiles cleanly with no warnings 
- Regression Test pass. 

Code Review: 
------------- 
        1. Better to set the hint bits for the tuples in a page, if the page
is already dirty. 

Test cases: 
---------- 
        Test cases are already described in the following link. 
 
<http://archives.postgresql.org/message-id/00d301cdd398$6e3fff30$4abffd90$@k
ap...@huawei.com>
http://archives.postgresql.org/message-id/00d301cdd398$6e3fff30$4abffd90$@ka
p...@huawei.com 

Test Results: 
------------ 
Machine details: 
        CPU cores : 4 
        RAM       : 24GB 
        OS        : Suse Linux 10 SP2 



Configuration: 
    shared_buffers = 500MB 
    autovacuum = off 
    checkpoint_segments = 256 
    checkpoint_timeout = 10min 

Following result are average of 3 runs each run is of 5min through pgbench
custom query. 

Test case - 1: 
        Init: 
                None 
        Run: 
                create temp table atri1 as select v from
generate_series(1,1000000) v; 
                select * from atri1; 
                VACUUM atri1; 
                DROP TABLE atri1; 

Test case - 2: 
       Init: 
                create table atri1 as select v from
generate_series(1,1000000) v;   
        Run: 
                select * from atri1; 

Test case - 3: (without pgbench) 
        connect two sessions s1, s2 
                s1 : start transaction; 
                s2 : 
                        create table atri1 as select v from
generate_series(1,1000000) v; 
                        \timing 
                        select * from atri1; 
                        VACUUM atri1; 

Results: 
                  9.3devel(Tps)    HintbitIO(Tps)         
--------------------------------------------------- 
Test case - 1:     1.762946        1.922219         
Test case - 2:     4.038673        4.044356         

Pgbench without vacuum scale factor 75, 8 threads & 8 client. (refer reports
attached) 
Default tables select :      64980.736149    64550.118693     
Unlogged tables select:      64874.974334    64550.118693     

Multiple transaction bulk inserts: Select performance (refer script -1 & 2
which attached) 
sequential scan:      6.492680        6.382014     
Index scan:           1.386851        1.36234               

Single transaction bulk inserts: Select performance  (refer script - 3 & 4
which attached) 
sequential scan:      6.49319         6.3800147                 
Index scan:           1.384121        1.3615277                         

Long transaction open then Vacuum & select performance in milli seconds.
(refer reports output) 
Testcase - 3: 
Single Vacuum Perf   : 128.302 ms      181.292 ms           
Single select perf   : 214.107 ms      177.057 ms   
Total                : 342.409 ms      358.349 ms 

I was not able to find the reason why in some of cases results are low so
please use the attached scripts to validate the same. 

I was not able to provide the IO statistics as IOSTAT & VMSTAT was giving
the current snapshot 
but not the cumulative from start to end of test execution. 

Documentation: 
------------- 
No user visible changes, so no documentation is need to update. 




Regards,

Hari babu.

Attachment: results.tar.gz
Description: Binary data

Attachment: scripts.tar.gz
Description: Binary data

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to