Re: [PERFORM] Stats collector constant I/O

2014-05-15 Thread Jeff Janes
On May 14, 2014 9:19 PM, Craig James cja...@emolecules.com wrote:

 Day and night, the postgres stats collector process runs at about 20
MB/sec output.  vmstat shows this:

 $ vmstat 2
 procs ---memory-- ---swap-- -io -system--
cpu
  r  b   swpd   free   buff  cache   si   sobibo   in   cs us sy
id wa
  0  0  55864 135740 123804 1071292846   445  264200  5  1
92  2
  1  0  55864 134820 123804 1071301200 0 34880  540  338  1  1
98  0
  0  0  55864 135820 123812 1071289600 0 20980  545  422  1  1
98  0

 iotop(1) shows that it's the stats collector, running at 20 MB/sec.

This is normal for 9.2 and below if you have hundreds of databases in the
cluster.

Cheers,

Jeff


Re: [PERFORM] Stats collector constant I/O

2014-05-15 Thread Pavel Stehule
Hello

we had similar issue - you can try to move statfile to ramdisc

http://serverfault.com/questions/495057/too-much-i-o-generated-by-postgres-stats-collector-process

Regards

Pavel Stehule


2014-05-15 6:18 GMT+02:00 Craig James cja...@emolecules.com:

 Day and night, the postgres stats collector process runs at about 20
 MB/sec output.  vmstat shows this:

 $ vmstat 2
 procs ---memory-- ---swap-- -io -system--
 cpu
  r  b   swpd   free   buff  cache   si   sobibo   in   cs us sy id
 wa
  0  0  55864 135740 123804 1071292846   445  264200  5  1
 92  2
  1  0  55864 134820 123804 1071301200 0 34880  540  338  1  1
 98  0
  0  0  55864 135820 123812 1071289600 0 20980  545  422  1  1
 98  0

 iotop(1) shows that it's the stats collector, running at 20 MB/sec.

 Is this normal?

 Craig



Re: [PERFORM] Stats collector constant I/O

2014-05-15 Thread Tomas Vondra
On 15.5.2014 06:18, Craig James wrote:
 Day and night, the postgres stats collector process runs at about 20
 MB/sec output.  vmstat shows this:
 
 $ vmstat 2
 procs ---memory-- ---swap-- -io -system--
 cpu
  r  b   swpd   free   buff  cache   si   sobibo   in   cs us sy
 id wa
  0  0  55864 135740 123804 1071292846   445  264200  5 
 1 92  2
  1  0  55864 134820 123804 1071301200 0 34880  540  338  1 
 1 98  0
  0  0  55864 135820 123812 1071289600 0 20980  545  422  1 
 1 98  0
 
 iotop(1) shows that it's the stats collector, running at 20 MB/sec.

Which PostgreSQL version are you running? And how many databases /
objects (tables, indexes) are there?

With versions up to 9.1, and large number of objects this is quite
normal. The file size is proportional to the number of objects, and may
get written quite frequently.

The newer versions (since 9.2) have per-database file, which usually
significantly decreases the load - both CPU and I/O. But if you have all
the objects are in a single database, this is not going to help.

I'd recommend moving the stat directory to tmpfs (i.e. memory-based
filesystem) - this improves the I/O load, but it may still consume
nontrivial amount of CPU time to read/write it.

Tomas


-- 
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance