On 17.02.2012 12:51, Bernhard Schrader wrote:
> Hi all,
>
> we just discovered a problem, which I think is related to XFS. Well,
> I will try to explain.
>
> The environment i am working with are around 300 Postgres databases
> in separated VM's. All are running with XFS. Differences are just in
> kernel versions.
> - 2.6.18
> - 2.6.39
> - 3.1.4
>
> Some days ago i discovered that the file nodes of my postgresql
> tables have strange sizes. They are located in
> /var/lib/postgresql/9.0/main/base/[databaseid]/
> If I execute the following commands i get results like this:
>
> Command: du -sh | tr "\n" " "; du --apparent-size -h
> Result: 6.6G . 5.7G .
Since a few kernel-version XFS does speculative preallocations, which is
primarily a measure to prevent fragmentation.
The preallocations should go away when you drop the caches.
sync
echo 3 > /proc/sys/vm/drop_caches
XFS can be prevented to do that with the mount-option "allocsize".
Personally i use "allocsize=64k", since i first encountered that
behaviour, my workload primarily consists of single-thread writing which
doesn't benefit from this preallocation.
Your workload OTOH may benefit as it should prevent/lower the
fragmentation of the database files.
Bis denn
--
Real Programmers consider "what you see is what you get" to be just as
bad a concept in Text Editors as it is in women. No, the Real Programmer
wants a "you asked for it, you got it" text editor -- complicated,
cryptic, powerful, unforgiving, dangerous.
|