pg_test_fsync.v1.2012_09_08.patch
application/octet-stream
Filename: pg_test_fsync.v1.2012_09_08.patch
Type: application/octet-stream
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: context
Series: patch v1
| File | + | − |
|---|---|---|
| contrib/pg_test_fsync/pg_test_fsync.c | 4 | 2 |
| doc/src/sgml/pgtestfsync.sgml | 8 | 5 |
diff contrib/pg_test_fsync/pg_test_fsync.c
index 9fe2301..7f7368a
*** a/contrib/pg_test_fsync/pg_test_fsync.c
--- b/contrib/pg_test_fsync/pg_test_fsync.c
***************
*** 25,31 ****
#define LABEL_FORMAT " %-32s"
#define NA_FORMAT "%18s"
! #define OPS_FORMAT "%9.3f ops/sec"
/* These are macros to avoid timing the function call overhead. */
#ifndef WIN32
--- 25,32 ----
#define LABEL_FORMAT " %-32s"
#define NA_FORMAT "%18s"
! #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
*************** print_elapse(struct timeval start_t, str
*** 568,575 ****
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;
! printf(OPS_FORMAT "\n", per_second);
}
#ifndef WIN32
--- 569,577 ----
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, avg_op_time_us);
}
#ifndef WIN32
diff doc/src/sgml/pgtestfsync.sgml
index 95ba3b8..00ef209
*** a/doc/src/sgml/pgtestfsync.sgml
--- b/doc/src/sgml/pgtestfsync.sgml
***************
*** 30,40 ****
<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.
</para>
</refsect1>
--- 30,43 ----
<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 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>