Re: prueba de jit en postgres 11

From: Hellmuth Vargas <hivs77(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: Lista Postgres ES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: prueba de jit en postgres 11
Date: 2020-06-11 15:34:02
Message-ID: CAN3Qy4o_gDAEYhqH7vXGYfFynVR2eENjk2FdzV+j9trKq+Ofmw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Alvaro

Muchas Gracias por la respuesta, el rendimiento de la máquina no fue el
esperado, la carga de cpu subió muchísimo y algunas consultas triviales
se demoran demasiado, me tocó poner los reportes y bases en la otra
réplica (la no JIT). Estoy registrando en el log las sentencias y con estas
pretendo afinar la réplica JIT, por lo tanto en este momento la tengo
solo como backup

El mié., 10 de jun. de 2020 a la(s) 11:53, Alvaro Herrera (
alvherre(at)2ndquadrant(dot)com) escribió:

> Hellmuth Vargas escribió:
>
> Hola
>
> > Entiendo que JIT básicamente aplica para la optimización de consultas
> > (diciéndolo de forma coloquiar)
>
> Sí, la idea es que algunos pasos en la ejecución de consultas se pueden
> "compilar" a código específico para esa operación específica, lo que
> resulta más eficiente que ejecutar el código genérico. Pero se incurre
> en un costo de hacer esa compilación. Si se va a ejecutar pocas veces,
> no vale la pena hacer la compilación, porque el menor tiempo de
> ejecución lo vas a perder en la compilación.
>
> > Tengo varias preguntas:
> >
> > - Los datos o en general la replica puede llegar a corromperse (porque la
> > master no tiene jit) o si eventualmente llega a ser master
> (promoviéndola),
> > las replicas existentes podrían apuntar a esta?
>
> Por diseño, las réplicas nunca escriben datos, así que aún si hubiera
> un tremendo bug en el JIT no es posible que resulte en corrupción de
> datos si lo ejecutas en una réplica. Por otra parte, el JIT actualmente
> sólo se aplica en operaciones de lectura, no en escrituras, así que aún
> si lo pusieras en el primario, no es posible que resulte en corrupción.
>
> La única opción para que tengas un problema de ese tipo es que JIT tenga
> algún bug que cause que el sistema se caiga. Esto no es imposible pero
> yo no he visto reportes de que esto haya sucedido.
>
> > - los valores por defecto de los parámetros jit_above_cost,
> > jit_inline_above_cost y jit_optimize_above_cost son altos, en general no
> > se encuentra mucha información para la configuración de estos, que
> valores
> > deberían establecerse (por criterios como RAM, o CPU o tipo de disco
> duro,
> > etc como se hacer con otros parámetros).. o debo tomar algunas de las
> > consultas pesadas y empezar a jugar con estos?
>
> Sí, experimentar es lo mejor. Piensa que el tiempo de compilación es de
> unos cuantos cientos de milisegundos, así que una consulta rápida no se
> verá beneficiada.
>
> Las operaciones que actualmente se optimizan son:
>
> 1. "deforming" de tuplas (es decir, convertir la representación "muchos
> bytes en disco" de una tupla separándola en los valores de cada columna)
>
> 2. ejecución de expresiones (es decir, tomar cosas como "columna + 10"
> y convertirla en código nativo de CPU que ejecuta la suma de dos
> valores donde uno es constante y el otro se lee de la tupla)
>
> --
> Álvaro Herrera https://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>

--
Cordialmente,

Ing. Hellmuth I. Vargas S.
Esp. Telemática y Negocios por Internet
Oracle Database 10g Administrator Certified Associate
EnterpriseDB Certified PostgreSQL 9.3 Associate

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Guillermo E. Villanueva 2020-06-11 17:20:22 Empezando con barman
Previous Message Alvaro Herrera 2020-06-10 16:58:37 Re: Cambio de servidor primario