Re: postgresql96 streaming

From: Jaime Casanova <jaime(dot)casanova(at)2ndquadrant(dot)com>
To: jhonatan martinez <gunsozzy(at)gmail(dot)com>
Cc: POSTGRES <Pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: postgresql96 streaming
Date: 2016-12-29 01:00:03
Message-ID: CAJGNTeN=qj3AvbsBVmqdPi8p+9-P3Xj2M_BXzk3OeDPUKpiQMQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2016-12-28 10:33 GMT-05:00 jhonatan martinez <gunsozzy(at)gmail(dot)com>:
>
> Solicito de su cordial ayuda con el inconveniente que tengo en aumento de
> load averages según lo que he podido identificar es debido a la replica
> streaming que tengo configurada.
>

podrías indicarnos donde ves el aumento en el load average: en el
maestro o en el esclavo?
podrías indicarnos cómo identificaste que la réplica es el problema?
finalmente, como configuraste la réplica?

Ahora, la realidad es que es muy difícil, sino imposible, que la
réplica en streaming realmente sea la causa.
Esto es porque según [1]:
"""
Each running process either using or waiting for CPU resources adds 1
to the load average. So, if your system has a load of 5, five
processes are either using or waiting for the CPU.
"""

En SR (streaming replication) en cada commit se envía información
hacía el esclavo usando un proceso en el maestro llamada "wal sender"
(como el wal sender es un solo proceso lo más que agregaría a load
average es 1), ahora el maestro no procesa la información que envía al
esclavo de ningún modo por lo que en realidad no hace uso intensivo
del procesador como para que se note en el load average.

Del otro lado, en el esclavo, hay un proceso llamado wal receiver que
solo recibe los datos y los escribe en el WAL y otro proceso el
Startup process que es el encargado del recovery (un solo proceso se
encarga de aplicar todo lo que llega desde el esclavo por lo que
nuevamente solo agregaría 1 al load average).

Por eso mi duda de como llegaste a esa conclusión. Lo que yo
sospecharía como algo más creíble es que siendo que estas en 9.6 es
posible que estés ejecutando muchas lecturas secuenciales, las cuales
a partir de 9.6 puede lanzar varios procesos para realizar la lectura
de la tabla desde varios procesos en paralelo.

[1] http://www.howtogeek.com/194642/understanding-the-load-average-on-linux-and-other-unix-like-systems/
--
Jaime Casanova www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message José Fermín Francisco Ferreras 2016-12-29 02:33:50 Problema Postgresql y SQL Server
Previous Message Alvaro Herrera 2016-12-28 15:42:23 Re: postgresql96 streaming