On 7 August 2013 18:49, Jon Nelson <jnelson+pgsql@jamponi.net> wrote:
> On Wed, Aug 7, 2013 at 12:42 PM, Thom Brown <thom@linux.com> wrote:
>> for i in 1 2 5 10 100; do ./test_fallocate foo $i 1; done
>> method: classic. 1 open/close iterations, 1 rewrite in 0.6380s
>> method: posix_fallocate. 1 open/close iterations, 1 rewrite in 0.3204s
>> method: glibc emulation. 1 open/close iterations, 1 rewrite in 0.6274s
>> method: classic. 2 open/close iterations, 1 rewrite in 1.2908s
>> method: posix_fallocate. 2 open/close iterations, 1 rewrite in 0.6596s
>> method: glibc emulation. 2 open/close iterations, 1 rewrite in 1.2666s
>> method: classic. 5 open/close iterations, 1 rewrite in 3.1419s
>> method: posix_fallocate. 5 open/close iterations, 1 rewrite in 1.5930s
>> method: glibc emulation. 5 open/close iterations, 1 rewrite in 3.1516s
>> method: classic. 10 open/close iterations, 1 rewrite in 6.2912s
>> method: posix_fallocate. 10 open/close iterations, 1 rewrite in 3.2626s
>> method: glibc emulation. 10 open/close iterations, 1 rewrite in 6.3667s
>> method: classic. 100 open/close iterations, 1 rewrite in 67.4174s
>> method: posix_fallocate. 100 open/close iterations, 1 rewrite in 37.8788s
>> method: glibc emulation. 100 open/close iterations, 1 rewrite in 55.0714s
>
> OK. That's interesting, and a good data point.
>
> One thing you could try manually disabling the use of posix_fallocate in 269e78.
> After running ./configure --stuff-here
> edit src/include/pg_config.h and comment out the following line (on or
> around line 374)
> #define HAVE_POSIX_FALLOCATE 1
>
> *then* build postgresql and see if the performance hit is still there.
Okay, done that. The TPS increases again:
2308.807568 / 2554.264572 / 2563.190204
And I did run ./configure... before removing the line, and built it
after the change.
--
Thom