[Spacewalk-list] Spacewalk 1.6 Database problem
Scott Worthington
scott.c.worthington at gmail.com
Tue Jan 10 14:25:32 UTC 2012
On Tuesday, January 10, 2012 7:37:20 AM, John Hodrien wrote:
> On Thu, 5 Jan 2012, John Hodrien wrote:
>
>>> From a clean start of the services, I visit the overview, systems, then
>> channels. I've done nothing else. After about a minute or two I start getting
>> stuck SQL queries. Over time these build up until I run out of connections to
>> postgres.
>
> Is the real problem here the sheer number of 'idle in transaction'
> connections?
>
> For now I've just put a very crufty and wrong cron hack in that at least might
> stop me having to restart spacewalk on a daily basis:
>
> * * * * * root /usr/bin/test `/usr/bin/pgrep -f 'idle in transaction' | * /usr/bin/wc \-l ` \-gt 20 && /usr/bin/pkill \-o \-f 'idle in transaction'
>
> But this is really just a big pile of wrongness. Anyone got any tips on how I
> debug *why* I'm getting so many transactions that aren't being completed in a
> timely fashion?
>
> How many 'idle in transaction' processes are other people seeing with 1.6 on
> Postgres?
>
> jh
Sitting idle, my postgresql has 3 processes 'idle in transaction'.
This is after being up for 3 days after a kernel update & reboot.
I have 4GB of system memory on CentOS 6.2. Using pgtune, I have
tweaked my /var/lib/pgsql/data/postgresql.conf with the following at
the end of the that file:
default_statistics_target = 50 # pgtune wizard 2011-09-05
constraint_exclusion = on # pgtune wizard 2011-09-05
checkpoint_completion_target = 0.9 # pgtune wizard 2011-09-05
checkpoint_segments = 16 # pgtune wizard 2011-09-05
maintenance_work_mem = 240MB # pgtune wizard 2011-09-13
effective_cache_size = 2816MB # pgtune wizard 2011-09-13
work_mem = 24MB # pgtune wizard 2011-09-13
wal_buffers = 8MB # pgtune wizard 2011-09-13
shared_buffers = 960MB # pgtune wizard 2011-09-13
max_connections = 89 # pgtune wizard 2011-09-13
And I have also added to my /etc/sysctl.conf:
kernel.shmmax=1040990208
The above was calculated using pgtune.
I do stop and reinitialize jabber & osa-dispatcher every morning at
6am:
# Restart jabber everyday @6am
00 06 * * * /sbin/service jabberd stop > /dev/null 2>&1 ;
/sbin/service osa-dispatcher stop > /dev/null 2>&1 ; rm -Rf
/var/lib/jabberd/db/* > /dev/null 2>&1 ; /sbin/service jabberd start >
/dev/null 2>&1 ; /sbin/service osa-dispatcher start > /dev/null 2>&1
After installing "spacewalk-report" rpm and executing
'/usr/bin/spacewalk-report channel-packages | wc -l' returns 42725.
Or 42,725 packages loaded into the spacewalk channel system.
Spacewalk 1.6 and postgresql both seem to work nicely in my production
environment.
More information about the Spacewalk-list
mailing list