On 2016-02-22 14:11:05 +0100, Fabien COELHO wrote:
>
> >I did a quick & small test with random updates on 16 tables with
> >checkpoint_flush_after=16 checkpoint_timeout=30
>
> Another run with more "normal" settings and over 1000 seconds, so less
> "quick & small" that the previous one.
>
> checkpoint_flush_after = 16
> checkpoint_timeout = 5min # default
> shared_buffers = 2GB # 1/8 of available memory
>
> Random updates on 16 tables which total to 1.1GB of data, so this is in
> buffer, no significant "read" traffic.
>
> (1) with 16 tablespaces (1 per table) on 1 disk : 680.0 tps
> per second avg, stddev [ min q1 median d3 max ] <=300tps
> 679.6 ± 750.4 [0.0, 317.0, 371.0, 438.5, 2724.0] 19.5%
>
> (2) with 1 tablespace on 1 disk : 956.0 tps
> per second avg, stddev [ min q1 median d3 max ] <=300tps
> 956.2 ± 796.5 [3.0, 488.0, 583.0, 742.0, 2774.0] 2.1%
Interesting. That doesn't reflect my own tests, even on rotating media,
at all. I wonder if it's related to:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=23d0127096cb91cb6d354bdc71bd88a7bae3a1d5
If you use your 12.04 kernel, that'd not be fixed. Which might be a
reason to do it as you suggest.
Could you share the exact details of that workload?
Greetings,
Andres Freund