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 (
alvhe...@2ndquadrant.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

Reply via email to