Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1UuICW-0003X6-Km for pgsql-hackers@arkaria.postgresql.org; Wed, 03 Jul 2013 08:14:08 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1UuICW-000589-3U for pgsql-hackers@arkaria.postgresql.org; Wed, 03 Jul 2013 08:14:08 +0000 Received: from makus.postgresql.org ([2001:4800:7903:4::125]) by malur.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1UuICU-000561-AV for pgsql-hackers@postgresql.org; Wed, 03 Jul 2013 08:14:06 +0000 Received: from tama500.ecl.ntt.co.jp ([129.60.39.148]) by makus.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1UuICQ-0005Z7-Ry for pgsql-hackers@postgresql.org; Wed, 03 Jul 2013 08:14:05 +0000 Received: from mfs6.rdh.ecl.ntt.co.jp (mfs6.rdh.ecl.ntt.co.jp [129.60.39.149]) by tama500.ecl.ntt.co.jp (8.13.8/8.13.8) with ESMTP id r638E02P009087; Wed, 3 Jul 2013 17:14:00 +0900 Received: from mfs6.rdh.ecl.ntt.co.jp (localhost.localdomain [127.0.0.1]) by mfs6.rdh.ecl.ntt.co.jp (Postfix) with ESMTP id BB297E0066; Wed, 3 Jul 2013 17:14:00 +0900 (JST) Received: from imail3.m.ecl.ntt.co.jp (imail3.m.ecl.ntt.co.jp [129.60.5.248]) by mfs6.rdh.ecl.ntt.co.jp (Postfix) with ESMTP id AFA0FE0085; Wed, 3 Jul 2013 17:14:00 +0900 (JST) Received: from [129.60.241.67] ([129.60.241.67]) by imail3.m.ecl.ntt.co.jp (8.13.8/8.13.8) with ESMTP id r638E0TN002101; Wed, 3 Jul 2013 17:14:00 +0900 Message-ID: <51D3DE55.6030901@lab.ntt.co.jp> Date: Wed, 03 Jul 2013 17:18:29 +0900 From: KONDO Mitsumasa User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7 MIME-Version: 1.0 To: Robert Haas , Heikki Linnakangas CC: PostgreSQL-development Subject: Re: Improvement of checkpoint IO scheduler for stable transaction responses 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> <51C9FD5C.5050706@vmware.com> <51CD873A.5070705@lab.ntt.co.jp> In-Reply-To: <51CD873A.5070705@lab.ntt.co.jp> Content-Type: multipart/mixed; boundary="------------090303090508020907040809" X-Pg-Spam-Score: -0.5 (/) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org This is a multi-part message in MIME format. --------------090303090508020907040809 Content-Type: text/plain; charset=Shift_JIS Content-Transfer-Encoding: 7bit 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 --------------090303090508020907040809 Content-Type: text/x-diff; name="segsize-instant.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="segsize-instant.patch" 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} --------------090303090508020907040809 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers --------------090303090508020907040809--