On 10/21/19, Jonathan Brandmeyer <jbrandme...@planetiq.com> wrote: > On Mon, Oct 21, 2019 at 10:31 AM Richard Hipp <d...@sqlite.org> wrote: >> >> On 10/21/19, Jonathan Brandmeyer <jbrandme...@planetiq.com> wrote: >> > Or, how many times is each page written by SQLite for an insert-heavy >> > test? The answer appears to be "4", but I can only account for two of >> > those four. >> >> Are you measuring writes at the OS-interface layer, or writes at the >> hardware layer? SQLite should issue no more than 2x writes in WAL >> mode, and less if the same page is modified more than once. But who >> knows how the OS might be multiplying this to accomplish its own >> filesystem consistency. >> >> Consider compiling the >> https://www.sqlite.org/src/file/ext/misc/vfslog.c extension into >> SQLite on a workstation and running your code there, to get more >> details about everything that SQLite is doing with storage. > > Thanks for the pointer. I didn't do this exactly, but instead > instrumented SQLite's unixWrite() and my lowest-level NAND driver's > block write function on the target hardware to capture summary > counters of both events. The filesystem's own consistency overhead > adds up to about 2% additional writes - not nearly enough to account > for the missing 2x. The throughput implied by the low-level counters > is consistent with the benchmark results. >
What happens if you set "PRAGMA synchronous=OFF". (I'm not suggesting that you do this in production - it is just an experiment to try to help figure out what is going on.) -- D. Richard Hipp d...@sqlite.org _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users