Re: Stats collector constant I/O

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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   so    bi    bo   in   cs us sy
> id wa
>  0  0  55864 135740 123804 10712928    4    6   445  2642    0    0  5 
> 1 92  2
>  1  0  55864 134820 123804 10713012    0    0     0 34880  540  338  1 
> 1 98  0
>  0  0  55864 135820 123812 10712896    0    0     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



[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux