Re: [PERFORM] 9.4 -> 9.5 regression with queries through pgbouncer on RHEL 6
От | Andres Freund |
---|---|
Тема | Re: [PERFORM] 9.4 -> 9.5 regression with queries through pgbouncer on RHEL 6 |
Дата | |
Msg-id | 20160714185338.yo236a4rxkvlsmon@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: [PERFORM] 9.4 -> 9.5 regression with queries through pgbouncer on RHEL 6 (Vladimir Borodin <root@simply.name>) |
Список | pgsql-hackers |
On 2016-07-04 16:30:51 +0300, Vladimir Borodin wrote: > > > 13 июня 2016 г., в 21:58, Vladimir Borodin <root@simply.name> написал(а): > > > >> > >> 13 июня 2016 г., в 0:51, Andres Freund <andres@anarazel.de <mailto:andres@anarazel.de>> написал(а): > >> > >> Hi Vladimir, > >> > >> Thanks for these reports. > >> > >> On 2016-06-13 00:42:19 +0300, Vladimir Borodin wrote: > >>> perf report -g -i pg9?_all.data >/tmp/pg9?_perf_report.txt > >> > >> Any chance you could redo the reports with --no-children --call-graph=fractal > >> added? The mode that includes child overheads unfortunately makes the > >> output hard to interpet/compare. > > > > Of course. Not sure if that is important but I upgraded perf for that (because --no-children option was introduced in~3.16), so perf record and perf report were done with different perf versions. > > > > <pg94_perf_report.txt.gz> > > <pg95_perf_report.txt.gz> > > <pg96_perf_report.txt.gz> > > > > Also I’ve done the same test on same host (RHEL 6) but with 4.6 > > kernel/perf and writing perf data to /dev/shm for not loosing > > events. Perf report output is also attached but important thing is > > that the regression is not so significant: FWIW, you can instead use -F 300 or something to reduce the sampling frequency. > > root@pgload05g ~ # uname -r > > 4.6.0-1.el6.elrepo.x86_64 > > root@pgload05g ~ # cat /proc/sys/kernel/sched_autogroup_enabled > > 1 > > root@pgload05g ~ # /tmp/run.sh > > RHEL 6 9.4 71634 0.893 > > RHEL 6 9.5 54005 1.185 > > RHEL 6 9.6 65550 0.976 > > root@pgload05g ~ # echo 0 >/proc/sys/kernel/sched_autogroup_enabled > > root@pgload05g ~ # /tmp/run.sh > > RHEL 6 9.4 73041 0.876 > > RHEL 6 9.5 60105 1.065 > > RHEL 6 9.6 67984 0.941 > > root@pgload05g ~ # > > > > <pg96_perf_report_4.6.txt.gz> > > <pg95_perf_report_4.6.txt.gz> > > <pg94_perf_report_4.6.txt.gz> > > Andres, is there any chance that you would find time to look at those results? Are they actually useful? I don't really see anything suspicious in the profile. This looks more like a kernel scheduler issue than a postgres bottleneck one. It seems that somehow using nonblocking IO (started in 9.5) causes scheduling issues when pgbouncer is also local. Could you do perf stat -ddd -a sleep 10 or something during both runs? I suspect that the context switch ratios will be quite different. Andres
В списке pgsql-hackers по дате отправления: