Pregunta

Tengo varias tablas grandes que necesito para copiar en copias particionadas en una base de datos transaccional.

Me preocupa el éxito de que esto causará el rendimiento de mis aplicaciones de producción.

En un intento por mitigar esto, estoy buscando al gobernador de recursos.Voy a configurar mi script para usar un grupo de recursos que se limita a un máximo del 5% de la CPU y la memoria.

La única parte sobre esto en la que no estoy seguro de que es el efecto en el PLE.

Como lo entiendo, la selección de la tabla leerá el valor en el caché.Esto forzará a salir otra cosa que estaba en el caché.(El concepto básico de PLE.) ¿Pero los artículos "forzados fuera" se limitarán al 5% que he especificado?

Significado Después de haber utilizado el 5% de la memoria, ¿impedirá solo los artículos en caché en el mismo 5%? (dejando al otro 95% no afectado).

Otra forma de preguntar esto es: ¿es el límite de memoria del 5% al igual que decir un límite de caché del 5%?

¿Fue útil?

Solución

Esta página MSDN dice que la configuración de la memoria solo afectan la memoria de la consulta:

Pool de recursos de gobernador de recursos

min_memory_percent y max_memory_percent

Estas configuraciones son la cantidad mínima y máxima de memoria reservada para el grupo de recursos que no se puede compartir con otros grupos de recursos. La memoria a la que se hace referencia aquí es la memoria de la subvención de la ejecución de consulta, no la memoria del grupo de búfer (por ejemplo, los datos y las páginas de índice). Configuración de un valor mínimo de memoria para una piscina significa que está asegurando que el porcentaje de memoria especificado estará disponible para cualquier solicitud que pueda ejecutarse en este grupo de recursos. Este es un diferenciador importante en comparación con MIN_CPU_PUENT, porque en este caso la memoria puede permanecer en el grupo de recursos dado, incluso cuando la piscina no tiene solicitudes en los grupos de carga de trabajo que pertenecen a este grupo. Por lo tanto, es crucial que tenga mucho cuidado al usar esta configuración, porque esta memoria no estará disponible para su uso por cualquier otro grupo, incluso cuando no haya solicitudes activas. Configuración de un valor de memoria máxima para una piscina significa que cuando las solicitudes se ejecutan en este grupo, nunca obtendrán más de este porcentaje de memoria.

Lo anterior indica que el grupo de búfer está excluido de las limitaciones de los grupos de recursos. Por lo tanto, si tiene la intención de realizar algunas acciones que puedan hacer que el grupo de búfer completo se vacíe para ejecutar su proceso, es posible que desee asegurarse de que el proceso se haya ejecutado durante las horas libres.

El siguiente es un extracto del blog de MSDN, Página de SQL Server Esperancy de vida :

La esperanza de vida de la página (PLE) es la mejor indicación de la volátil que es su grupo de búfer (BP). Es un mostrador de perfusión, que se encuentra en el servidor SQL: Buffer Manager Perfmon Objeto. También está el nodo de búfer: contador de la esperanza de vida de la página que debe considerarse para los sistemas NUMA, utilizando la misma lógica por nodo que uno lo haría en un sistema no numático.

La volatilidad se mide tomando la "vida" promedio de una página dentro del grupo de búfer (en segundos). Si se sobrescribe o envejece una página, comienza una vida nueva.

Por lo tanto, si se sobrescriben muchas páginas con datos nuevos con mucha frecuencia, el PLE promedio será bajo, y nuestra volatilidad de BP será alta.

Por el contrario, si la mayoría de las páginas de nuestro BP permanecen allí durante mucho tiempo sin ser sobrescritas, el PLE promedio será alto, y la volatilidad de BP será baja.

Entonces, ¿por qué nos preocupamos por la volatilidad de BP y ple? ¿Qué puede saber la volatilidad de BP para nosotros? ¿Qué es un "bueno" y "mal" ple figura?

PLE puede ser una medida de cuánto está haciendo su servidor SQL. Esperemos que haya recibido su atención, porque la IO física es una preocupación importante en el rendimiento, tanto para la lectura como para la escritura.

de las preguntas en los comentarios aquí:

¿Qué es "Memoria de consulta" y cómo es diferente del caché?

La memoria de consulta se usa para la ejecución de las consultas. Se usa temporalmente para cosas como tipos, se crea mapa de bits, tablas de hash, etc. El caché contiene datos de tabla en memoria.

Parece que la respuesta a mi pregunta es que el PLE no estará protegido por el gobernador de recursos en absoluto. ¿Eso suena bien?

correcto. La esperanza de vida de la página es todo acerca de cuánto tiempo se mantienen las páginas de datos en la memoria.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top