Gracias Jaime y Eduardo por sus comentarios y la documentacion

Me encuentro trabajando en una propuesta para cambiar el # max_connection
e incluir pgBouncer en la arquitectura.

Solo una pregunta, si existe una metrica para calcular el  max_connection
porque no se encuentra esta informacion en el manual de postgres y viene
por defecto 100 en la instalacion?

Saludos,
Carlos.


On Wed, Jan 16, 2019, 3:41 AM Jaime Soler <jaime.so...@gmail.com wrote:

> La asignación típica de max_connections suele estar en el orden
> de ((core_count * 2) + effective_spindle_count  , que en tu caso oscilará
> entre 24 conexiones, como referencia tienes el artículo de la wiki:
> https://wiki.postgresql.org/wiki/Number_Of_Database_Connections
> Aunque hay múltiples libros de tunning de postgres que te podrán orientar
> con ellos. Con respecto a las métricas a estudiar para apoyar el cambio de
> arquitectura, creo que te pueden ayudar, el ver la relación de tps o iops
> vs os switch context según el número máximo de conexiones aceptadas.
>
> Un saludo
>
>
> El mié., 16 ene. 2019 a las 1:34, Eduardo Morras (<emorr...@yahoo.es>)
> escribió:
>
>> On Mon, 14 Jan 2019 10:55:56 -0600
>> "Carlos T. Groero Carmona" <cton...@gmail.com> wrote:
>>
>> > Eduardo gracias por su explicacion, voy a enfocar mis esfuerzos hacia
>> > ahi, creo que el uso de pgBouncer ayudara mucho, solo que debo
>> > demostrar que esto es necesario, estaba evitando proponer un cambio
>> > en la arquitectura por ahora, pero estoy de acuerdo con usted, la
>> > configuracion puede necesitar algunas puntualizaciones pero un cambio
>> > en la arquitectura que mejore el consumo y gestion de las conexiones
>> > seria de muchisima ayuda asi como una revision mas exaustiva en el
>> > uso de los indices como dijo Alvaro al inicio de este chat.
>> >
>> > Hay alguna manera de demostrar/monitoriar que postgres por el solo no
>> > esta manejando de la mejor manera esta situacion y requiere la ayuda
>> > de una herramienta externa como pgBoncer?
>>
>> Aparte del error que da? No lo se. Puede que haciendo un truss o
>> mirando con dtrace puedas ver que gasta mucho tiempo en gestionar los
>> locks. Hace mucho que no buceo en el desarrollo de Postgres.
>>
>> > Por cierto, anteriormente me equivoque al comentar los recursos
>> > fisicos de este servidor, aqui los rectificos:
>> > Memory: 512 GB
>> > Procesadores: 2 procesadores, 6 cores por procesador, lo que da 12  a
>> > 2.5GHz.
>> > HD: son SAS, 15K RPM 6 Gb/s.
>>
>> Esto si es muy importante, dado que tienes 12 cores reales y no 128, si
>> antes con tantos procesadores te lo aconsejaba ahora es  obligado,
>> debes reducir el número máximo de conexiones y usar un pool de
>> conexiones externo como pgbouncer.
>>
>> Para tu caso, pon 20 conexiones e instala pgbouncer.
>>
>> > Saludos,
>> > Carlos
>>
>> Saludos
>>
>> ---   ---
>> Eduardo Morras <emorr...@yahoo.es>
>>
>>
On Jan 16, 2019 3:41 AM, "Jaime Soler" <jaime.so...@gmail.com> wrote:

La asignación típica de max_connections suele estar en el orden
de ((core_count * 2) + effective_spindle_count  , que en tu caso oscilará
entre 24 conexiones, como referencia tienes el artículo de la wiki:
https://wiki.postgresql.org/wiki/Number_Of_Database_Connections
Aunque hay múltiples libros de tunning de postgres que te podrán orientar
con ellos. Con respecto a las métricas a estudiar para apoyar el cambio de
arquitectura, creo que te pueden ayudar, el ver la relación de tps o iops
vs os switch context según el número máximo de conexiones aceptadas.

Un saludo


El mié., 16 ene. 2019 a las 1:34, Eduardo Morras (<emorr...@yahoo.es>)
escribió:

> On Mon, 14 Jan 2019 10:55:56 -0600
> "Carlos T. Groero Carmona" <cton...@gmail.com> wrote:
>
> > Eduardo gracias por su explicacion, voy a enfocar mis esfuerzos hacia
> > ahi, creo que el uso de pgBouncer ayudara mucho, solo que debo
> > demostrar que esto es necesario, estaba evitando proponer un cambio
> > en la arquitectura por ahora, pero estoy de acuerdo con usted, la
> > configuracion puede necesitar algunas puntualizaciones pero un cambio
> > en la arquitectura que mejore el consumo y gestion de las conexiones
> > seria de muchisima ayuda asi como una revision mas exaustiva en el
> > uso de los indices como dijo Alvaro al inicio de este chat.
> >
> > Hay alguna manera de demostrar/monitoriar que postgres por el solo no
> > esta manejando de la mejor manera esta situacion y requiere la ayuda
> > de una herramienta externa como pgBoncer?
>
> Aparte del error que da? No lo se. Puede que haciendo un truss o
> mirando con dtrace puedas ver que gasta mucho tiempo en gestionar los
> locks. Hace mucho que no buceo en el desarrollo de Postgres.
>
> > Por cierto, anteriormente me equivoque al comentar los recursos
> > fisicos de este servidor, aqui los rectificos:
> > Memory: 512 GB
> > Procesadores: 2 procesadores, 6 cores por procesador, lo que da 12  a
> > 2.5GHz.
> > HD: son SAS, 15K RPM 6 Gb/s.
>
> Esto si es muy importante, dado que tienes 12 cores reales y no 128, si
> antes con tantos procesadores te lo aconsejaba ahora es  obligado,
> debes reducir el número máximo de conexiones y usar un pool de
> conexiones externo como pgbouncer.
>
> Para tu caso, pon 20 conexiones e instala pgbouncer.
>
> > Saludos,
> > Carlos
>
> Saludos
>
> ---   ---
> Eduardo Morras <emorr...@yahoo.es>
>
>

Reply via email to