"Peter Bauer" <peter.m.bauer@gmail.com> writes:
> There is a table called tableregistrations where per day about
> 1 million rows are INSERTed
> 20000 SELECTs should be performed on it
> 10000 UPDATEs should be performed where about 100 rows are updated
> with each execution
> 10000 DELETEs should be performed every 10 seconds
> in such a way that the table constantly contains about 20000 entries.
> A vaccum of the whole database is performed every 10 minutes with
> cron, autovacuum is enabled too.
That's not *nearly* enough given that level of row turnover. You need
to be vacuuming that table about once a minute if not more often, and
you need to be sure that there aren't any long-running transactions that
would prevent vacuum from removing dead rows.
Try a VACUUM VERBOSE after the system has gotten into a slow state to
get more info about exactly what's happening.
regards, tom lane