Обсуждение: Stats collector constant I/O

Поиск
Список
Период
Сортировка

Stats collector constant I/O

От
Craig James
Дата:
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.

Is this normal?

Craig

Re: Stats collector constant I/O

От
Jeff Janes
Дата:


On May 14, 2014 9:19 PM, "Craig James" <cjames@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   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.

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

Cheers,

Jeff

Re: Stats collector constant I/O

От
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 <cjames@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   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.

Is this normal?

Craig

Re: Stats collector constant I/O

От
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   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