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

El componente del administrador de memoria de Microsoft SQL Server 2005 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, sólo 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 aceptar a los usuarios conectados a SQL Server. La configuración predeterminada de 255 puede ser ligeramente alta para algunas configuraciones, según el número de usuarios simultáneos. Debido a que cada subproceso de trabajo está asignado, aunque no se utilice (ya que hay menos conexiones simultáneas que subprocesos de trabajo asignados), es posible que no se estén utilizando los recursos de memoria que pueden ser utilizados mejor por otras operaciones, por ejemplo, el almacenamiento en la caché. Generalmente, este valor de configuración se debe establecer según el número de conexiones simultáneas, pero no puede exceder de 32727. Las conexiones simultáneas no son lo mismo que las conexiones de inicio de sesión. El grupo de subprocesos de trabajo para una instancia de SQL Server sólo necesita ser lo suficientemente grande como para servir al número de conexiones de usuario que ejecutan activamente lotes al mismo tiempo en esa instancia. El rendimiento del servidor puede deteriorarse si el número de subprocesos de trabajo se incrementa por encima del valor predeterminado. Para obtener más información, vea max worker threads (opción).

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).

Vea también

Tareas

Cómo establecer la memoria de consulta mínima (SQL Server Management Studio)

Conceptos

Supervisar el uso de la memoria
Efectos de las opciones min y max server memory
Administrar la memoria para bases de datos de gran tamaño

Ayuda e información

Obtener ayuda sobre SQL Server 2005