Re: 300 seconds in less than 1 second with pg_autovacuum - Mailing list pgsql-hackers-win32

From Harald Massa
Subject Re: 300 seconds in less than 1 second with pg_autovacuum
Date
Msg-id 16277.1106312542@www40.gmx.net
Whole thread Raw
In response to 300 seconds in less than 1 second with pg_autovacuum  ("Harald Massa" <ghum@gmx.net>)
List pgsql-hackers-win32
Updating myself: to "300 seconds in less than 1 second"...

I thought of the usual parameter problems, and ....

[2005-01-21 13:56:59 Westeuropäische Normalzeit] INFO:    pg_autovacuum
starting in Windows Service mode
[2005-01-21 13:57:21 Westeuropäische Normalzeit] INFO:    pg_autovacuum
service stopping...
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:    Printing
command_args
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->host=(null)
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->port=(null)
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->username=postgres
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->password=faghimwyo
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->logfile=c:\ghum\data\pg_log\autovacuum.log
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->install_as_service=0
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->remove_as_service=0
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->service_dependencies=(null)
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->service_user=(null)
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->service_password=(null)
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->sleep_base_value=30000
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->sleep_scaling_factor=2.000000
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->vacuum_base_threshold=1000
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->vacuum_scaling_factor=2.000000
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->analyze_base_threshold=500
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->analyze_scaling_factor=1.000000
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->av_vacuum_cost_delay=(default)
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->av_vacuum_cost_page_hit=(default)
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->av_vacuum_cost_page_miss=(default)
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->av_vacuum_cost_page_dirty=(default)
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
args->av_vacuum_cost_limit=(default)
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:      args->debug=3
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:    pg_autovacuum
starting in Windows Service mode
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:    dbname: template1
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:      oid: 1
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:      username:
postgres
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:      password:
Supersecret...
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:      conn is valid,
(connected)
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:         reltuples:
439.000000;  relpages: 6
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
curr_analyze_count: 0; curr_vacuum_count: 0
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
last_analyze_count: 0; last_vacuum_count: 0
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
analyze_threshold: 939; vacuum_threshold: 1878
[......]
[2005-01-21 13:57:42 Westeuropäische Normalzeit] INFO:
analyze_threshold: 500; vacuum_threshold: 1000
[2005-01-21 13:57:42 Westeuropäische Normalzeit] DEBUG:   1 All DBs checked
in: 296000 usec, will sleep for 30000 secs.
[2005-01-21 13:58:13 Westeuropäische Normalzeit] DEBUG:   2 All DBs checked
in: 156000 usec, will sleep for 30000 secs.
[2005-01-21 13:58:43 Westeuropäische Normalzeit] DEBUG:   updating the
database list
[2005-01-21 13:58:43 Westeuropäische Normalzeit] INFO:    dbname: template1
[2005-01-21 13:58:43 Westeuropäische Normalzeit] DEBUG:   3 All DBs checked
in: 281000 usec, will sleep for 30000 secs.
[2005-01-21 13:59:02 Westeuropäische Normalzeit] INFO:    pg_autovacuum
service stopping...



Mutliplied the setting with 100 ... and, indeed, every 30.000 milliseconds
(which is 30 seconds) pg_autovacuum runs.

So, I guess, the sleep() function pg_autovacuum is using takes milliseconds
and not seconds as parameters on win32.

Please change documentation or better patch pg_autovacuum (milliseconds is
WAY TO FINE as a resolution for pg_autovacuum sleeping time)

Harald

pgsql-hackers-win32 by date:

Previous
From: "Harald Massa"
Date:
Subject: 300 seconds in less than 1 second with pg_autovacuum
Next
From: "Dave Page"
Date:
Subject: Re: 300 seconds in less than 1 second with pg_autovacuum