Red de conocimiento informático - Conocimiento informático - El impacto del búfer de registro de Android en el rendimiento

El impacto del búfer de registro de Android en el rendimiento

El búfer de registro es una pequeña área temporal que se utiliza para el almacenamiento a corto plazo de vectores de cambios para que los registros de rehacer se escriban en el disco. Los vectores de cambio son modificaciones aplicadas a ciertos objetos. La ejecución de una declaración DML generará un vector de cambio aplicado a los datos. Al utilizar registros de rehacer, la base de datos puede garantizar que los datos nunca se pierdan.

Cada vez que cambia un bloque de datos, el vector de cambio aplicado a ese bloque de datos se escribe en el registro de rehacer. Si es necesario restaurar un archivo de datos, el vector de cambio se puede extraer del registro de rehacer y aplicar a la copia de seguridad del archivo de datos. El búfer de registro es más pequeño en comparación con otras estructuras de memoria porque es un área de almacenamiento muy corta.

Inserta el vector de cambio en él y transfiérelo al disco casi en tiempo real. No es necesario que el búfer de registro supere unos pocos MB como máximo. De hecho, establecerlo por encima del valor predeterminado tendrá un impacto muy negativo en el rendimiento. El valor predeterminado lo determina el servidor Oracle y depende de la cantidad de CPU en el nodo del servidor.

Información relacionada

El búfer de registro se asigna cuando se inicia la instancia y no se puede cambiar su tamaño más adelante sin reiniciar la instancia. Es un amortiguador circular. La dirección de escritura actual se moverá hacia adelante y hacia atrás a medida que el proceso del servidor le escriba vectores de cambio. El proceso de escritura de registros escribe vectores en modo por lotes, momento en el cual el espacio que ocupa queda disponible y puede ser sobrescrito por más vectores de cambio.

Durante el pico de actividad, los vectores de cambio pueden generarse más rápido de lo que puede escribir el proceso de escritura de registros. Si esto sucede, toda la actividad DML se detendrá durante unos milisegundos mientras el escritor del registro borra el búfer. Volcar buffers de registros al disco es uno de los cuellos de botella fundamentales en la arquitectura de Oracle.

DML no puede ser más rápido que LGWR para volcar vectores de cambios en archivos de registro de rehacer en línea. Si la generación de rehacer es un factor que limita el rendimiento de la base de datos, entonces la única opción es utilizar RAC. En una base de datos RAC, cada instancia tiene su propio búfer de registro y LGWR. Esta es la única forma de escribir datos de rehacer en el disco en paralelo.