Exportar (0) Imprimir
Expandir todo

Prácticas recomendadas de rendimiento para SQL Server en máquinas virtuales de Azure

Actualizado: junio de 2014

Mientras se ejecuta SQL Server en las máquinas virtuales de Azure, se recomienda seguir utilizando las mismas opciones de optimización del rendimiento de la base de datos que son aplicables a SQL Server en el entorno del servidor local. Sin embargo, el rendimiento de una base de datos relacional en la nube pública depende de muchos factores como son el tamaño de una máquina virtual y la configuración de los discos de datos.

Este tema proporciona las prácticas recomendadas para optimizar el rendimiento de SQL Server en máquinas virtuales (VM) de Azure.

Nota importante: para obtener información completa, consulta las notas del producto Guía de rendimiento para SQL Server en Máquinas virtuales de Azure.

La siguiente es una lista de comprobación rápida que puede seguir como guía:

  • Use un nivel A2 estándar como mínimo para máquinas virtuales de SQL Server.

  • Mantenga la cuenta de almacenamiento y la máquina virtual de SQL Server en la misma región.

  • Deshabilite la replicación geográfica de Azure en la cuenta de almacenamiento.

  • Evite usar discos de sistema operativo o temporales para el almacenamiento o el registro en la base de datos.

  • Evite usar opciones de almacenamiento en memoria caché en discos de datos de Azure (política de almacenamiento en memoria caché = ninguna).

  • Seccione varios discos de datos de Azure para obtener un mayor rendimiento de E/S.

  • Formatee con tamaños de asignación documentados.

  • Separe las rutas de E/S de archivos de datos y de registro para obtener IOPS dedicadas para datos y registros.

  • Habilite la compresión de página de bases de datos.

  • Habilite la inicialización instantánea de archivos para los archivos de datos.

  • Limite o deshabilite el crecimiento automático de la base de datos.

  • Deshabilite la reducción automática de la base de datos.

  • Mueva todas las bases de datos a discos de datos, incluidas las bases de datos del sistema.

  • Mueva los directorios de archivos de registro de errores y archivos de seguimiento de SQL Server a discos de datos.

  • Aplique revisiones de rendimiento de SQL Server.

  • Configure las ubicaciones predeterminadas.

  • Habilite las páginas bloqueadas.

  • Haga una copia de seguridad directamente en el almacenamiento de blobs.

Para más información, siga las pautas de las subsecciones siguientes.

En las aplicaciones donde importe el rendimiento, se recomienda usar máquinas virtuales con los tamaños siguientes:

  • SQL Server Enterprise Edition: nivel A3 estándar o superior

  • SQL Server Standard Edition: nivel A2 estándar o superior

Para información actualizada sobre los tamaños de máquina virtual admitidos, vea Tamaños de máquinas virtuales y servicios en la nube de Azure.

Además recomendamos crear la cuenta de almacenamiento de Azure en el mismo centro de datos que las máquinas virtuales de SQL Server para reducir las demoras en las transferencias. Al crear una cuenta de almacenamiento, deshabilite la replicación geográfica, ya que no se garantiza un orden de escritura uniforme entre varios discos. En su lugar, considere configurar una tecnología de recuperación ante desastres de SQL Server entre dos centros de datos de Azure. Para obtener más información, vea Alta disponibilidad y recuperación ante desastres para SQL Server en máquinas virtuales de Azure.

Cuando se crea una máquina virtual de Azure, la plataforma conectará al menos un disco a la VM para el disco del sistema operativo. El disco es un VHD almacenado como un blob en páginas en el almacenamiento. También puede conectar discos adicionales a la máquina virtual como discos de datos y se almacenarán en el almacenamiento como blobs en páginas. Hay otro disco presente en las máquinas virtuales de Azure denominado disco temporal. Se trata de un disco en el nodo que se puede usar como espacio en limpio.

Un disco del sistema operativo es un disco duro virtual que se puede iniciar y montar como una versión en ejecución de un sistema operativo y se etiqueta como unidad C:.

La política predeterminada de almacenamiento en memoria caché en el disco del sistema operativo es Lectura/escritura. En las aplicaciones donde importe el rendimiento, recomendamos usar discos de datos en lugar del disco del sistema operativo. Conecte uno o varios discos de datos a la máquina virtual sin cambiar la política predeterminada de almacenamiento en memoria caché, que es Ninguna para los discos de datos.

La unidad de almacenamiento temporal, etiquetada como D: no se conserva y no se guarda en el almacenamiento de blobs de Azure. Se utiliza principalmente para el archivo de paginación y no se garantiza que su rendimiento sea predecible. Las tareas de administración como, por ejemplo, el cambio en el tamaño de la máquina virtual, restablecen la unidad D:. Además, Azure borra los datos de la unidad de almacenamiento temporal cuando una máquina virtual conmute por error. La unidad D: no se recomienda para almacenar ningún archivo de usuario o de base de datos del sistema, incluido tempdb.

  • Número de discos de datos: En las aplicaciones donde importa la capacidad de proceso, recomendamos conectar el número máximo de discos permitido por tamaño de máquina virtual. Tenga en cuenta que la latencia no mejorará al agregar más discos de datos si la carga de trabajo se encuentra dentro del límite máximo de E/S por segundo (IOPS).

    Para información sobre la IOPS máxima por disco, vea Tamaños de máquinas virtuales y servicios en la nube de Azure.

  • Política de almacenamiento en memoria caché: en el disco de datos, el servicio de Caching tanto de lectura como de escritura se deshabilita de forma predeterminada. Usa este valor predeterminado y no habilites el almacenamiento en caché en el disco de datos. Para obtener más información sobre el servicio de Caching de discos, vea Administrar imágenes y discos.

    Para obtener instrucciones sobre cómo configurar el servicio de almacenamiento en caché de discos, consulta los temas siguientes: Set-AzureOSDisk, Set-AzureDataDisk, y Administrar las máquinas virtuales con los cmdlets de PowerShell de Azure.

  • Tamaño de la unidad de asignación de NTFS: Al formatear el disco de datos, se recomienda usar un tamaño de unidad de asignación de 64 KB para los archivos de datos y de registro, así como tempdb.

  • Creación de bandas en discos: Recomendamos que siga las pautas siguientes:

    • Para Windows 8/Windows Server 2012 o posterior, use Espacios de almacenamiento. Configure el tamaño de sección en 64 KB para cargas de trabajo OLTP y en 256 KB para cargas de trabajo de almacenamiento de datos para evitar un impacto en el rendimiento debido a la alineación incorrecta de particiones. Además, configure column count = number of physical disks. Para más información sobre cómo configurar Espacios de almacenamiento, vea Storage Spaces Cmdlets in Windows PowerShell (Cmdlets de Espacios de almacenamiento en Windows PowerShell).

    • Para Windows 2008 R2 o anterior, puede usar discos dinámicos (volúmenes seccionados del SO) y el tamaño de sección es siempre de 64 KB. Tenga en cuenta que esta opción es obsoleta a partir de Windows 8/Windows Server 2012. Para más información, vea la declaración de compatibilidad en Virtual Disk Service is transitioning to Windows Storage Management API (El Servicio de disco virtual está en transición a la API de administración de almacenamiento de Windows).

  • Ubicación de archivos de datos y de registro: Si la carga de trabajo no consumo mucho registro y no necesita IOPS dedicadas, puede configurar solo un grupo de almacenamiento. De lo contrario, en el caso de las máquinas virtuales que admitan una conexión de más de cuatro discos, coloque los archivos de datos y de registro en discos o grupos de almacenamiento independientes. Para el nivel A2 estándar, recomendamos una configuración de tres discos de datos para archivos de datos y tempdb, y un disco de datos para archivos de registro. Según si su carga de trabajo consume datos o registros, puede ajustar el número de discos dedicados al grupo de almacenamiento de datos o de registros en consecuencia.

  • Considere utilizar compresión de página de base de datos ya que puede ayudarles a mejorar el rendimiento de las cargas de trabajo intensivas de E/S. Sin embargo, la compresión de datos puede aumentar el consumo de CPU del servidor de bases de datos.

  • Considere la posibilidad de comprimir los archivos de datos al transferirlos entre Azure.

  • Considere habilitar la inicialización de archivos instantánea para reducir el tiempo necesario para la asignación de un archivo inicial. Para aprovechar la inicialización de archivos instantánea, conceda a la cuenta de servicio de SQL Server (MSSQLSERVER) el permiso SE_MANAGE_VOLUME_NAME y agréguela a la directiva de seguridad Realizar tareas de mantenimiento del volumen. Si está utilizando una imagen de plataforma de SQL Server para Azure, la cuenta de servicio predeterminada (NT Service\MSSQLSERVER) no se agrega a la directiva de seguridad Realizar tareas de mantenimiento del volumen. Es decir, la inicialización de archivos instantánea no está habilitada en una imagen de plataforma de SQL Server para Azure. Después de agregar la cuenta de servicio de SQL Server a la directiva de seguridad Realizar tareas de mantenimiento del volumen, reinicie el servicio SQL Server. Para obtener más información, vea Inicialización de archivos de la base de datos.

  • autogrow se considera apenas una contingencia para el crecimiento inesperado. No administre el crecimiento de sus datos y registros a diario con el crecimiento automático. Si usa el crecimiento automático, aumente previamente el archivo con el conmutador Tamaño.

  • Asegúrese de que autoshrink esté deshabilitado para evitar una sobrecarga innecesaria que afecte negativamente el rendimiento.

  • Si ejecuta SQL Server 2012, instale la Actualización acumulativa 10 del Service Pack 1. Esta actualización contiene la revisión para el bajo rendimiento en la E/S cuando ejecuta la instrucción seleccionar en la tabla temporal en SQL Server 2012. Para más información, vea este artículo de la base de conocimiento.

  • Mueva las bases de datos del sistema (como msdb y tempdb), las copias de seguridad y los directorios predeterminados de datos y registros de SQL Server a discos de datos no almacenados en caché para mejorar el rendimiento. Luego, lleve a cabo los pasos siguientes:

    • Ajuste las rutas de los archivos de XEvent y seguimiento.

    • Ajuste la ruta del registro de errores de SQL.

    • Ajuste la ruta predeterminada de copia de seguridad.

    • Ajuste la ubicación predeterminada de la base de datos.

  • Establezca las páginas bloqueadas para reducir las E/S y las actividades de paginación.

Algunas implementaciones pueden lograr mayores ventajas de rendimiento si aprovechan técnicas de configuración más avanzadas. La lista siguiente enumera algunas funciones de SQL Server que pueden ayudarle a lograr un mejor rendimiento:

  • Copia de seguridad en el almacenamiento de Microsoft Azure: Al realizar copias de seguridad de SQL Server en máquinas virtuales de Azure, puede usar SQL Server Backup to URL (Copias de seguridad de SQL Server en URL). Esta característica está disponible a partir de SQL Server SP1 CU2 y se recomienda para la copia de seguridad en discos de datos conectados. Cuando hace una copia de seguridad y restaura desde o hacia el almacenamiento de Azure, siga las recomendaciones que aparecen en SQL Server Backup to URL Best Practices and Troubleshooting and Restoring from Backups Stored in Azure Storage (Prácticas recomendadas de copia de seguridad de SQL Server a URL, y solución de problemas y restauración de copias de seguridad almacenadas en Almacenamiento de Azure).

    Antes de SQL Server 2012, puede usar SQL Server Backup to Azure Tool (Herramienta de copia de seguridad de SQL Server a Azure). Esta herramienta puede ayudar a aumentar la capacidad de proceso de la copia de seguridad al usar varios destinos de sección de copia de seguridad.

  • Archivos de datos SQL Server en Azure: Esta nueva función, Archivos de datos SQL Server en Azure, está disponible a partir de SQL Server 2014. Ejecutar SQL Server con archivos de datos en Azure demuestra características de rendimiento comparables a usar discos de datos de Azure.

Vea también

Mostrar:
© 2014 Microsoft