> In any case we seem to be settling to a long term
> sustained rate of
> about 40 flushes per second for WinXP. Since SQLite
> is getting only 10
> inserts per second, it seems to me that SQLite must
> be doing about 4
> flushes per insert. Does that seem right to you
> Richard?
For what it's worth, it's maybe slightly worse on
FreeBSD. Here's a sample of iostat for the (original)
C benchmark with sqlite2:
tty ad0 cpu
tin tout KB/t tps MB/s us ni sy in id
0 43 11.71 661 7.56 12 0 5 2 81
0 129 13.65 457 6.08 2 0 1 1 96
0 43 13.16 662 8.52 2 0 6 2 91
0 43 13.21 767 9.89 2 0 8 2 89
0 43 13.61 591 7.86 5 0 2 1 93
0 43 13.19 523 6.74 0 0 5 2 93
0 43 13.21 520 6.71 1 0 3 1 95
0 43 13.45 453 5.95 1 0 6 0 93
0 43 13.26 663 8.59 2 0 4 1 93
0 43 13.17 410 5.27 2 0 2 2 95
0 43 13.52 495 6.53 2 0 2 0 97
8 43 13.41 565 7.40 2 0 6 1 91
I/O transactions/s rate probably averages to something
like 550, and the benchmark reported ~90 queries/s, so
the rate is around 6 I/O ops per INSERT.
sqlite3 is similar, but with a twist:
tty ad0 cpu
tin tout KB/t tps MB/s us ni sy in id
0 43 11.48 560 6.28 2 0 4 2 92
0 129 11.79 695 8.01 2 0 5 1 92
0 43 12.12 405 4.79 5 0 5 0 91
0 43 12.57 483 5.92 1 0 7 0 93
8 43 12.66 384 4.74 2 0 3 2 94
0 43 12.00 416 4.87 1 0 4 0 95
0 43 11.93 756 8.81 2 0 3 2 93
0 43 12.04 696 8.19 3 0 3 1 93
8 43 12.36 677 8.17 1 0 3 1 95
8 43 12.38 680 8.22 2 0 5 0 94
0 43 11.74 554 6.36 0 0 1 1 98
0 43 12.16 657 7.80 1 0 2 1 96
0 43 12.16 789 9.37 2 0 3 1 95
0 43 12.36 573 6.92 2 0 5 2 92
The I/O transactions/s rate is similar (or at least
not significantly lower) but the transactions are a
bit smaller. Measured ~65 INSERTs/sec. so it's ~8 I/O
transactions per INSERT. Exact statistics calulations
are left as an excercise for the reader :)
(interpretation of cpu stats: time spent in file
system & disk is "sy" (=system) + "in" (=interrupt);
id=idle, us=user)
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com