Date: Tue, 12 Aug 2014 14:09:40 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-current@freebsd.org Cc: Konstantin Belousov <kostikbel@gmail.com>, Adrian Chadd <adrian@freebsd.org>, performance@freebsd.org, "current@freebsd.org" <current@freebsd.org> Subject: Re: PostgreSQL performance on FreeBSD Message-ID: <201408121409.40653.jhb@freebsd.org> In-Reply-To: <CAJ-Vmomfp46GDdWb21g5xi34%2BK-DaCPeyrOHoELOLzRj7-dHrQ@mail.gmail.com> References: <20140627125613.GT93733@kib.kiev.ua> <20140716132938.GB93733@kib.kiev.ua> <CAJ-Vmomfp46GDdWb21g5xi34%2BK-DaCPeyrOHoELOLzRj7-dHrQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday, July 16, 2014 1:52:45 pm Adrian Chadd wrote: > Hi! > > > On 16 July 2014 06:29, Konstantin Belousov <kostikbel@gmail.com> wrote: > > On Fri, Jun 27, 2014 at 03:56:13PM +0300, Konstantin Belousov wrote: > >> Hi, > >> I did some measurements and hacks to see about the performance and > >> scalability of PostgreSQL 9.3 on FreeBSD, sponsored by The FreeBSD > >> Foundation. > >> > >> The results are described in https://kib.kiev.ua/kib/pgsql_perf.pdf. > >> The uncommitted patches, referenced in the article, are available as > >> https://kib.kiev.ua/kib/pig1.patch.txt > >> https://kib.kiev.ua/kib/patch-2 > > > > A followup to the original paper. > > > > Most importantly, I identified the cause for the drop on the graph > > after the 30 clients, which appeared to be the debugging version > > of malloc(3) in libc. > > > > Also there are some updates on the patches. > > > > New version of the paper is available at > > https://www.kib.kiev.ua/kib/pgsql_perf_v2.0.pdf > > The changes are marked as 'update for version 2.0'. > > Would you mind trying a default (non-PRODUCTION) build, but with junk > filling turned off? > > adrian@adrian-hackbox:~ % ls -l /etc/malloc.conf > > lrwxr-xr-x 1 root wheel 10 Jun 24 04:37 /etc/malloc.conf -> junk:false > > That fixes almost all of the malloc debug performance issues that I > see without having to recompile. > > I'd like to know if you see any after that. OTOH, I have actually seen junk profiling _improve_ performance in certain cases as it forces promotion of allocated pages to superpages since all pages are dirtied. (I have a local hack that adds a new malloc option to explicitly memset() new pages allocated via mmap() that gives the same benefit without the junking overheadon each malloc() / free(), but it does increase physical RAM usage.) -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201408121409.40653.jhb>