> Attached is an updated version of the patch which turns the sort option into
> a boolean, and also include the sort time in the checkpoint log.
>
> There is still an open question about whether the sorting buffer allocation
> is lost on some signals and should be reallocated in such event.
In such case, probably the allocation should be managed from
CheckpointerMain, and the lazy allocation could remain for other callers
(I guess just "initdb").
More open questions:
- best name for the flush option (checkpoint_flush_to_disk, checkpoint_flush_on_write, checkpoint_flush, ...)
- best name for the sort option (checkpoint_sort, checkpoint_sort_buffers, checkpoint_sort_ios, ...)
Other nice-to-have inputs:
- tests on a non-linux system with posix_fadvise (FreeBSD? others?)
- tests on a large dedicated box
Attached are some scripts to help with testing, if someone's feels like
that:
- cp_test.sh: run some tests, to adapt to one's setup...
- cp_test_count.pl: show percent of late transactions
- avg.py: show stats about stuff
sh> grep 'progress: ' OUTPUT_FILE | cut -d' ' -f4 | avg.py
*BEWARE* that if pgbench got stuck some "0" data are missing, look for the actual tps in the output file and for
theline count to check whether it is the case... some currently submitted patch on pgbench helps, see
https://commitfest.postgresql.org/5/199/
--
Fabien.