On many occasions, I've noticed that some PostgreSQL activity takes far longer than it previously did and that disabling syslogd addresses the symptoms.
Most recently, it took 20-60 seconds to VACUUM a small, heavily updated table, while it used to take a fraction of a second. I found syslog entries like these:
13:19:53 --Relation sometable--
13:20:03 Removed 2 tuples in 1 pages.
13:20:23 ^ICPU 0.00s/0.00u sec elapsed 0.00 sec.
13:20:54 Pages 1: Changed 1, Empty 0; Tup 4: Vac 2, Keep 0, UnUsed 13.
13:20:54 ^ITotal CPU 0.00s/0.00u sec elapsed 60.12 sec.
It took almost-exactly 60 seconds, but virtually no CPU time was used (and no disk IO). Many similar examples have "real" times that are near perfect multiples of 10 seconds (e.g. 50.09, 40.07). This is not every single VACUUM, but it is frequent.
The problem disappears when syslogd is stopped or when PostgreSQL disables syslog usage. This is very consistent and I can reproduce the problem in some installations by toggling these factors on and off.
The other way to toggle the problem on/off is to disable syslogd's udp socket (though this is a feature we'd still like to use).
This evidence normally indicates a name resolution issue, but I'm not sure how to test for that beyond using "hostname -v -i".
This has happened at several installations. We use both 7.2.1 (Debian stable) and 7.3.2 (Debian testing).
I would guess that this is not the result of a PostgreSQL deficiency, but it is most sharply affected by it. Perhaps someone can offer insight?
pgsql-admin by date
|Next:||From: Tom Lane||Date: 2004-01-14 04:36:19|
|Subject: Re: vacuum slowed by syslogd |
|Previous:||From: Sai Hertz And Control Systems||Date: 2004-01-13 20:32:28|
|Subject: Re: psql Automatic login In Bash Script|