Optimizar el rendimiento del servidor mediante las opciones de configuración de memoria

El componente del administrador de memoria de Microsoft SQL Server elimina la necesidad de realizar la administración manual de la memoria disponible para SQL Server. SQL Server determina dinámicamente al iniciarse la cantidad de memoria que va a asignar sobre la base de la cantidad de memoria que el sistema operativo y otras aplicaciones utilizan actualmente. Al cambiar la carga del equipo y de SQL Server, también cambia la memoria asignada. Para obtener más información, vea Arquitectura de la memoria.

Se pueden utilizar las siguientes opciones de configuración del servidor para configurar la utilización de memoria e influir en el rendimiento del servidor:

  • min server memory

  • max server memory

  • max worker threads

  • index create memory

  • min memory per query

La opción de configuración de servidor min server memory puede utilizarse para garantizar que SQL Server no libera memoria por debajo de la memoria de servidor mínima configurada cuando se alcanza ese umbral. Esta opción de configuración se puede establecer con un valor específico basado en el tamaño y la actividad de SQL Server. Si elige establecer este valor, hágalo con un valor razonable de modo que el sistema operativo no requiera demasiada memoria de SQL Server, ya que afectaría al rendimiento de SQL Server.

Se puede utilizar la opción de configuración del servidor max server memory para especificar la cantidad máxima de memoria que SQL Server puede asignar cuando se inicia y mientras se ejecuta. Puede establecer esta opción de configuración como un valor específico si sabe que se ejecutan varias aplicaciones al mismo tiempo que SQL Server y desea que estas aplicaciones tengan memoria suficiente para ejecutarse. Si estas otras aplicaciones, por ejemplo, los servidores web o de correo electrónico, solo solicitan memoria cuando la necesitan, no establezca la opción de configuración del servidor max server memory, ya que SQL Server les suministrará memoria cuando sea necesario. Sin embargo, a menudo las aplicaciones utilizan la memoria disponible cuando se inician y no solicitan más aunque sea necesario. Si una aplicación con este comportamiento se ejecuta en el mismo equipo que SQL Server y al mismo tiempo, establezca la opción de configuración del servidor max server memory con un valor que garantice que la memoria que requiere la aplicación no está asignada por SQL Server.

No establezca las opciones de configuración del servidor min server memory y max server memory en el mismo valor, ya que de este modo se fija la cantidad de memoria asignada a SQL Server. La asignación dinámica de memoria le proporcionará el mejor rendimiento global en el tiempo. Para obtener más información, vea Opciones de memoria del servidor.

Se puede utilizar la opción de configuración del servidor max worker threads para especificar el número de subprocesos utilizados para admitir a los usuarios conectados a SQL Server. El valor predeterminado de max worker threads, 0, permite a SQL Server configurar automáticamente el número de subprocesos de trabajo en el inicio. Este valor de configuración es óptimo para la mayoría de los sistemas; no obstante, dependiendo de la configuración del sistema, la asignación de un valor específico a max worker threads puede mejorar el rendimiento en algunos casos. Para obtener más información, vea max worker threads (opción).

Nota

El valor de configuración predeterminado de max worker threads en SQL Server 2000 era 255. Cuando se actualiza una instancia de Motor de base de datos de SQL Server 2000 a una versión más reciente, se conserva el valor de configuración para max worker threads. Durante la actualización, se recomienda cambiar a 0 el valor de max worker threads de la nueva instancia, para que Motor de base de datos pueda calcular el número óptimo de subprocesos.

La opción de configuración del servidor index create memory controla la cantidad de memoria que utilizan las operaciones de ordenación durante la creación de índices. Crear un índice en un sistema de producción suele ser una tarea poco frecuente y que, a menudo, se programa como un trabajo que se ejecutará en horas de poca actividad. Por tanto, si se crean índices con poca frecuencia y durante las horas de poca actividad, el incremento de este número puede mejorar el rendimiento de la creación de índices. Sin embargo, mantenga la opción de configuración min memory per query con un número bajo para que el trabajo de creación de índices se inicie aunque no esté disponible toda la memoria solicitada. Para obtener más información, vea index create memory (opción).

La opción de configuración del servidor min memory per query puede utilizarse para especificar la cantidad mínima de memoria que se asigna para la ejecución de una consulta. Cuando se ejecutan muchas consultas simultáneamente en un sistema, aumentar el valor de la opción min memory per query puede ayudar a mejorar el rendimiento de las consultas que utilizan mucha memoria, como las operaciones grandes de ordenación y de hash. Sin embargo, no establezca la opción de configuración del servidor min memory per query con un valor demasiado alto, especialmente en sistemas muy ocupados, ya que la consulta tendrá que esperar hasta que pueda asegurar la memoria mínima solicitada o hasta que se exceda el valor especificado en el valor de configuración del servidor query wait. Si hay más memoria disponible que el valor mínimo especificado requerido para ejecutar la consulta, se permite que la consulta utilice la memoria adicional, siempre y cuando pueda utilizar la memoria de forma eficaz. Para obtener más información, vea min memory per query (opción) y query wait (opción).