pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: KONDO Mitsumasa <kondo.mitsumasa@lab.ntt.co.jp>
To: Robert Haas <robertmhaas@gmail.com>
To: Heikki Linnakangas <hlinnakangas@vmware.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Subject: Re: Improvement of checkpoint IO scheduler for stable transaction responses
Date: Wed, 03 Jul 2013 17:18:29 +0900
Message-ID: <51D3DE55.6030901@lab.ntt.co.jp> (raw)
In-Reply-To: <51CD873A.5070705@lab.ntt.co.jp>
References: <51B5AFB1.5030404@lab.ntt.co.jp>
	<51BDCB6C.1090507@vmware.com>
	<51BEB6F5.7070907@lab.ntt.co.jp>
	<51C40EF4.1080201@lab.ntt.co.jp>
	<51C9D03B.10107@vmware.com>
	<CA+TgmoZ+ofyg4e+hRBTnnfrC7M2ATX-Pg0k4AtyHx60A+_DFhQ@mail.gmail.com>
	<51C9FD5C.5050706@vmware.com>
	<CA+TgmoZj-0CFLbjceMtgi1t_=hpfe9z8uSa+D0g77sNYcFy04w@mail.gmail.com>
	<51CD873A.5070705@lab.ntt.co.jp>
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-hackers>

Hi,

I tested and changed segsize=0.25GB which is max partitioned table file size and
default setting is 1GB in configure option (./configure --with-segsize=0.25).
Because I thought that small segsize is good for fsync phase and background disk
write in OS in checkpoint. I got significant improvements in DBT-2 result!

* Performance result in DBT-2 (WH340)
                              | NOTPM    90%tile    Average  Maximum
 -----------------------------+---------------------------------------
 original_0.7 (baseline)      | 3474.62  18.348328  5.739    36.977713
 fsync + write                | 3586.85  14.459486  4.960    27.266958
 fsync + write + segsize=0.25 | 3661.17  8.28816    4.117    17.23191

Changing segsize with my checkpoint patches improved original over 50% at 90%tile
and maximum response time.

However, this tests ware not same condition... I also changed SESSION parameter
100 to 300 in DBT-2 driver. In general, I heard good SESSION parameter is 100.
Andt I didn't understand optimized DBT-2 parameters a lot. So I will retry to
test my patches and baseline with optimized parameters in DBT-2. Please wait for
a while.

Best regards,
-- 
Mitsumasa KONDO
NTT Open Source Software Center

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

Attachments:

segsize-instant.patch (text/x-diff, 990B) download diff --git a/configure b/configure index 7c662c3..6269cb9 100755 --- a/configure +++ b/configure @@ -2879,7 +2879,7 @@ $as_echo "$as_me: error: Invalid block size. Allowed values are 1,2,4,8,16,32." esac { $as_echo "$as_me:$LINENO: result: ${blocksize}kB" >&5 $as_echo "${blocksize}kB" >&6; } - +echo ${blocksize} cat >>confdefs.h <<_ACEOF #define BLCKSZ ${BLCKSZ} @@ -2917,14 +2917,15 @@ else segsize=1 fi - # this expression is set up to avoid unnecessary integer overflow # blocksize is already guaranteed to be a factor of 1024 -RELSEG_SIZE=`expr '(' 1024 / ${blocksize} ')' '*' ${segsize} '*' 1024` -test $? -eq 0 || exit 1 +#RELSEG_SIZE=`expr '(' 1024 / ${blocksize} ')' '*' ${segsize} '*' 1024` +RELSEG_SIZE=`echo 1024/$blocksize*$segsize*1024 | bc` +#test $? -eq} 0 || exit 1 { $as_echo "$as_me:$LINENO: result: ${segsize}GB" >&5 $as_echo "${segsize}GB" >&6; } - +echo ${segsize} +echo ${RELSEG_SIZE} cat >>confdefs.h <<_ACEOF #define RELSEG_SIZE ${RELSEG_SIZE}

view thread (63+ messages)  latest in thread

Message-ID: <51D3DE55.6030901@lab.ntt.co.jp>
Permalink:  ../51D3DE55.6030901@lab.ntt.co.jp/
Also on:    postgresql.org/message-id/51D3DE55.6030901@lab.ntt.co.jp

 ·  · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: kondo.mitsumasa@lab.ntt.co.jp, robertmhaas@gmail.com, hlinnakangas@vmware.com
  Subject: Re: Improvement of checkpoint IO scheduler for stable transaction responses
  In-Reply-To: <51D3DE55.6030901@lab.ntt.co.jp>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox