提交 82e42979 编写于 作者: S Simon Riggs

Add microsecs/op display to pg_test_fsync utility

e.g. fsync  2103.613 ops/sec (   475 microsecs/op)

Peter Geoghegan
上级 bc433317
......@@ -25,7 +25,8 @@
#define LABEL_FORMAT " %-32s"
#define NA_FORMAT "%18s"
#define OPS_FORMAT "%9.3f ops/sec"
#define OPS_FORMAT "%9.3f ops/sec (%6.f microsecs/op)"
#define USECS_SEC 1000000
/* These are macros to avoid timing the function call overhead. */
#ifndef WIN32
......@@ -568,8 +569,9 @@ print_elapse(struct timeval start_t, struct timeval stop_t, int ops)
double total_time = (stop_t.tv_sec - start_t.tv_sec) +
(stop_t.tv_usec - start_t.tv_usec) * 0.000001;
double per_second = ops / total_time;
double avg_op_time_us = (total_time / ops) * USECS_SEC;
printf(OPS_FORMAT "\n", per_second);
printf(OPS_FORMAT "\n", per_second, avg_op_time_us);
}
#ifndef WIN32
......
......@@ -30,11 +30,14 @@
<application>pg_test_fsync</> is intended to give you a reasonable
idea of what the fastest <xref linkend="guc-wal-sync-method"> is on your
specific system,
as well as supplying diagnostic information in the event of an
identified I/O problem. However, differences shown by <application>pg_test_fsync</application>
might not make any difference in real database throughput, especially
since many database servers are not speed-limited by their transaction
logs.
as well as supplying diagnostic information in the event of an identified I/O
problem. However, differences shown by
<application>pg_test_fsync</application> might not make any significant
difference in real database throughput, especially since many database servers
are not speed-limited by their transaction logs.
<application>pg_test_fsync</application> reports average file sync operation
time in microseconds for each wal_sync_method, which can be used to inform
efforts to optimize the value of <varname>commit_delay</varname>.
</para>
</refsect1>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册