Fix incorrect tps number calculation in "excluding connections establishing".
authorTatsuo Ishii
Wed, 30 Sep 2015 01:36:23 +0000 (10:36 +0900)
committerTatsuo Ishii
Wed, 30 Sep 2015 01:36:23 +0000 (10:36 +0900)
The tolerance (larger than actual tps number) increases as the number
of threads decreases.  The bug has been there since the thread support
was introduced in 9.0. Because back patching introduces incompatible
behavior changes regarding the tps number, the fix is committed to
master and 9.5 stable branches only.

Problem spotted by me and fix proposed by Fabien COELHO. Note that his
original patch included more than fixes (a code re-factoring) which is
not related to the problem and I omitted the part.

src/bin/pgbench/pgbench.c

index 89559e78da19a4a0676647068cd028b23e0e7984..f7125d25b0e3504ef248455472b7dc5e8fae42f9 100644 (file)
@@ -2631,7 +2631,7 @@ printResults(int ttype, int64 normal_xacts, int nclients,
    time_include = INSTR_TIME_GET_DOUBLE(total_time);
    tps_include = normal_xacts / time_include;
    tps_exclude = normal_xacts / (time_include -
-                       (INSTR_TIME_GET_DOUBLE(conn_total_time) / nthreads));
+                       (INSTR_TIME_GET_DOUBLE(conn_total_time) / nclients));
 
    if (ttype == 0)
        s = "TPC-B (sort of)";