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
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}
-- 
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