Compartir a través de


Uso de la utilidad SQLIOSim para simular la actividad de SQL Server en un subsistema de disco

En este artículo se describe cómo usar la utilidad SQLIOSim para realizar pruebas de esfuerzo en subsistemas de disco para simular la actividad de SQL Server.

Versión del producto original: SQL Server
Número de KB original: 231619

Introducción

En este artículo se describe la herramienta SQLIOSim. Puede usar SQLIOSim para realizar pruebas de confiabilidad e integridad en subsistemas de disco que USA SQL Server. Estas pruebas de SQLIOSim simulan actividades de lectura, escritura, punto de control, copia de seguridad, ordenación y lectura anticipada que realiza Microsoft SQL Server. Para obtener más información sobre los patrones de E/S de SQL Server, vea Conceptos básicos de E/S de SQL Server, capítulo 2. La utilidad SQLIOSim realiza esta simulación independientemente del motor de SQL Server.

El objetivo principal de las pruebas de simulación de E/S es garantizar la confiabilidad del subsistema de E/S subyacente antes de que SQL Server empiece a usarlo. SQLIOSim no interactúa con SQL Server ni siquiera requiere que SQL Server se ejecute. De hecho, en la mayoría de los casos, se recomienda usar SQLIOSim cuando SQL Server no se está ejecutando para evitar la competencia de rendimiento de E/S entre las dos aplicaciones. Tenga mucho cuidado de no apuntar ni usar los archivos reales de base de datos de SQL Server en la prueba de SQLIOSim porque puede sobrescribirlos.

Para ayudar a mantener la integridad de datos adecuada, se recomienda realizar pruebas de esfuerzo del subsistema de E/S antes de implementar SQL Server en un nuevo hardware. La utilidad SQLIOSim simula los patrones de lectura y escritura y las técnicas de identificación de problemas de SQL Server. Para realizar estas tareas, la utilidad SQLIOSim simula la actividad del usuario y la actividad del sistema de un sistema de SQL Server.

La utilidad SQLIOSim no garantiza ni garantiza la integridad ni la seguridad de los datos. La utilidad está diseñada para proporcionar pruebas de línea base de un entorno del sistema. La utilidad SQLIOSim puede exponer posibles problemas de integridad de datos.

Para obtener más información sobre el registro y el almacenamiento de datos, vea Descripción de los algoritmos de registro y almacenamiento de datos que amplían la confiabilidad de los datos en SQL Server.

Si debe realizar pruebas comparativas de rendimiento y desea determinar la capacidad de rendimiento de E/S del sistema de almacenamiento, use la herramienta Diskspd en su lugar.

La utilidad SQLIOSim reemplaza a la utilidad SQLIOStress, que anteriormente se conocía como la utilidad SQL70IOStress.

Ubicación de SQLIOSim

En el pasado, SQLIOSim se envió como un paquete de descarga independiente. A partir de SQL Server 2008, SQLIOSim se incluye en la instalación del producto de SQL Server. Al instalar SQL Server, puede encontrar la herramienta SQLIOSim en la carpeta \Binn de la instalación de SQL Server. Se recomienda usar esta versión actualizada de la herramienta para simular la actividad de E/S en el subsistema de disco.

Tres archivos forman parte del paquete SQLIOSim. La carpeta \Binn contiene dos archivos ejecutables, SQLIOSim.com y SQLIOSim.exe. Ambos archivos ejecutables proporcionan funcionalidades de simulación de E/S idénticas.

  • SQLIOSim.com es una herramienta de línea de comandos. Puede configurarlo para que se ejecute sin interacción del usuario. Para realizar esta configuración, puede usar parámetros de línea de comandos, un archivo de configuración o una combinación de ambos métodos.
  • SQLIOSim.exe es una aplicación gráfica (GUI) que no acepta parámetros de línea de comandos. Sin embargo, SQLIOSim.exe carga los datos de configuración predeterminados de los archivos de configuración.
  • También puede usar archivos de configuración para ayudar a automatizar la simulación de E/S con SQLIOSim. Para obtener más información, consulte la sección Archivo de configuración de SQLIOSim.

Uso de SQLIOSim en un equipo sin SQL Server

Se recomienda usar SQLIOSim para una prueba extendida en un equipo antes de instalar SQL Server. Úselo para probar el subsistema de E/S en el que planea colocar los archivos de datos y de registro en el futuro y garantizar la confiabilidad del subsistema de E/S. Para realizar esta tarea, considere la posibilidad de copiar los tres archivos SQLIOSim desde una máquina donde sql Server está instalado y ejecutar las pruebas antes de una instalación de SQL Server. Copie SQLIOSim.com, SQLIOSim.exe y, opcionalmente, uno o varios de los archivos de configuración si tiene previsto usar la configuración preconfigurada. A continuación, ejecute la simulación de prueba en esa máquina.

Uso de SQLIOSim

No necesita que el servicio SQL Server se ejecute mientras ejecuta SQLIOSim. De hecho, se recomienda no ejecutar SQL Server mientras SQLIOSim se está ejecutando, ya que pueden competir por los recursos de E/S.

Advertencia

No especifique los archivos reales de base de datos de SQL Server para las pruebas. La utilidad SQLIOSim sobrescribirá los datos con patrones de prueba aleatorios y se perderán los datos reales de SQL Server.

En los ejemplos siguientes se muestra cómo ejecutar SQLIOSim mediante la GUI y la línea de comandos.

Ejemplo 1: Uso de la GUI

  1. Vaya a C:\Archivos de programa\Microsoft SQL Server\MSSQLXX.<InstanceName>\MSSQL\Binn.

  2. Inicie la aplicación SQLIOSIM.EXE . Puede ver la ventana Archivos y configuración , que contiene algunas opciones predeterminadas. Puede modificar esta configuración para que coincida con sus necesidades de configuración.

    Captura de pantalla que muestra la configuración del archivo.

  3. Resalte el primer archivo mdx C:\temp\sqliosim\sqliosim.mdx en la lista. Este archivo es el equivalente de un archivo de datos.

  4. Modifique la configuración del archivo cambiando su ubicación, tamaño, tamaño máximo o incremento. Mantenga el archivo de registro desactivado como desee simular un archivo de datos. Después, haga clic en el botón Aplicar.

    Captura de pantalla que muestra la configuración del archivo de datos.

    En el ejemplo se muestra que la ubicación del archivo se cambia a D:\temp\sqliosim\sqliosim.mdx, su tamaño se establece en 2048 MB, su tamaño máximo se establece en 4096 MB y su tamaño de incremento se establece en 64 MB.

  5. Modifique el segundo archivo con el sufijo ldx . Este archivo representa el equivalente de un archivo de registro de transacciones. Asegúrese de mantener habilitada la casilla Archivo de registro. seleccione Aplicar cuando acabe.

    Captura de pantalla de la configuración del archivo de registro.

  6. Puede agregar más archivos a la lista seleccionando la opción Nuevo archivo en el centro de la pantalla dentro de la cuadrícula tabular. Una vez que seleccione Nuevo archivo, puede escribir la ubicación del archivo y elegir la configuración restante. No olvide seleccionar Aplicar. Este es un ejemplo:

    Captura de pantalla de la adición de un nuevo archivo de prueba.

  7. Una vez que esté satisfecho con la configuración, seleccione el botón Aceptar .

  8. Seleccione Inicio del simulador> para ejecutar la simulación de E/S de SQL. Como alternativa, puede seleccionar F12 o el botón situado más a la izquierda con un círculo verde dentro de él.

    Captura de pantalla que muestra una instancia de SQLIOSim en ejecución.

  9. Espere a que se complete la simulación y examine la salida.

Ejemplo 2: Usar una herramienta de línea de comandos y un archivo de configuración

  1. Modifique el archivo sqliosim.default.cfg.ini quitando los comentarios de las File1 secciones y y File2 modificando los FileName valores en los nuevos archivos SQLIOSim. Por ejemplo:

    [File1]
    FileName=D:\sqliosim\sqliosim.mdx
    InitialSize=100
    MaxSize=200
    Increment=10
    Shrinkable=TRUE
    LogFile=FALSE
    Sparse=FALSE
    
    [File2]
    FileName=L:\sqliosim\sqliosim.ldx
    InitialSize=50
    MaxSize=50
    Increment=0
    Shrinkable=FALSE
    LogFile=TRUE
    Sparse=FALSE
    
  2. Ejecute SQLIOSIM.COM mediante el archivo de configuración C:\temp\sqliosimconfig\sqliosim.default.cfg.ini:

    SQLIOSIM.COM -cfg C:\temp\sqliosimconfig\sqliosim.default.cfg.ini -log C:\temp\sqliosimconfig\sqliosim.log.xml
    

Ejemplo 3: Uso de una herramienta de línea de comandos con modificadores

Puede probar varios volúmenes de disco al mismo tiempo mediante el -dir modificador . En el ejemplo siguiente se crean archivos de 500 MB y se ejecuta la prueba durante 300 segundos (cinco minutos).

SQLIOSIM.COM -cfg C:\temp\sqliosimconfig\sqliosim.default.cfg.ini -log C:\temp\sqliosim\sqliosim.log.xml -dir "D:\sqliosim" -dir "F:\sqliosim\testfolder" -size 500 -d 300

Ejemplo 4: Uso de una herramienta de línea de comandos en varias unidades

En el ejemplo siguiente se crean archivos de 32 GB y se ejecuta la prueba durante 600 segundos (10 minutos) mediante el archivo de configuración de sqliosim.hwcache.cfg.ini .

SQLIOSIM.COM -cfg "D:\Temp\SQLIOSIM\SQLIOSIM_Configs\sqliosim.hwcache.cfg.ini" -d 600 -dir D:\temp\sqliosim -log D:\temp\sqliosim\simlog.xml -size 32768

SQLIOSim.com parámetros de línea de comandos

SQLIOSIM.COM acepta un número limitado de parámetros de línea de comandos para controlar el comportamiento básico. El archivo de configuración de la utilidad SQLIOSim proporciona un control de comportamiento avanzado. Cuando los parámetros de la línea de comandos y las opciones del archivo de configuración se superponen, los parámetros de la línea de comandos tienen prioridad.

Parámetro Comentario
-cfg file Invalide el Sqliosim.cfg.ini archivo de configuración predeterminado. La utilidad SQLIOSim devuelve un error si la utilidad no encuentra el archivo.
-save file Guarde la configuración resultante en el archivo de configuración. Puede usar esta opción para crear el archivo de configuración inicial.
-log file Especifique el nombre del archivo de registro de errores y la ruta de acceso del archivo de registro de errores. El nombre de archivo predeterminado es Sqliosim.log.xml.
-dirDir Establezca la ubicación para crear el archivo de datos (.mdf) y el archivo de registro (.ldf). Puede ejecutar este comando varias veces. En la mayoría de los casos, esta ubicación es una raíz de unidad o un punto de montaje de volumen. Esta ubicación puede ser una ruta de acceso larga o una ruta de acceso UNC.
-d segundos Establezca la duración de la ejecución principal. Este valor excluye la fase de preparación y la fase de comprobación.
-sizeMB Establezca el tamaño inicial del archivo de datos en megabytes (MB). El archivo puede crecer hasta dos veces el tamaño inicial. El tamaño del archivo de registro se calcula como la mitad del tamaño del archivo de datos. Sin embargo, el archivo de registro no puede ser superior a 50 MB.

Archivo de configuración de SQLIOSim

Puede usar un archivo de configuración con SQLIOSim para ayudarle a elegir todas las opciones de simulación de E/S por adelantado. Este archivo de configuración puede ayudar a automatizar las ejecuciones de SQLIOSim.

Los archivos de configuración de ejemplo para varias pruebas se pueden descargar del repositorio de GitHub del equipo de soporte técnico de SQL Server.

No tiene que usar un archivo de configuración. Si no usa un archivo de configuración, todos los parámetros toman valores predeterminados, excepto la ubicación del archivo de datos y la ubicación del archivo de registro. Debe usar uno de los métodos siguientes para especificar la ubicación del archivo de datos y la ubicación del archivo de registro:

  • Use los parámetros de la línea de comandos en el archivo SQLIOSIM.COM .
  • Use el cuadro de diálogo Archivos y configuración después de ejecutar el archivo SQLIOSim.exe .
  • Use la sección Archivo<N> del archivo de configuración.

Archivos de configuración de ejemplo

Hay cinco archivos de configuración de ejemplo disponibles si desea usarlos para las ejecuciones automatizadas de SQLIOSim.

Archivo de muestra Description Parámetros que difieren del archivo de configuración predeterminado
sqliosim.default.cfg.ini
sqliosim.hwcache.cfg.ini - Minimizar las lecturas

- Los archivos se hacen pequeños para mantenerlos completamente en memoria

- Sin lecturas secuenciales
Para la sección AuditUser y para la sección ReadAheadUser :

CacheHitRatio=10000
UserCount=0
sqliosim.nothrottle.cfg.ini - Eliminación de la limitación de E/S

- Minimizar el tiempo de espera para aumentar el volumen de E/S
TargetIODuration=1000000
AuditDelay=10
RADelay=10
sqliosim.seqwrites.cfg.ini - Minimizar las lecturas

- Los archivos se hacen pequeños para mantenerlos completamente en memoria

- Los archivos se convierten en no reducibles

- Sin lecturas secuenciales

- Sin acceso aleatorio

- Actualización masiva en fragmentos grandes sin retrasos
Shrinkable=FALSE

Para las secciones AuditUser, ReadAheadUser y RandomUser :

CacheHitRatio=10000
ForceReadAhead=FALSE
BuffersBUMin=600
BuffersBUMax=1000
BUDelay=1
UserCount=0
sqliosim.sparse.cfg.ini - Usar solo 32 MB de memoria

- Hacer que la duración de E/S de destino sea lo suficientemente grande como para habilitar muchas solicitudes de E/S pendientes.

- Deshabilitar las API de dispersión y recopilación para emitir solicitudes de E/S independientes para cada página de 8 KB

- Creación de un archivo no reducible de 1 GB

- Creación de una secuencia dispersa secundaria no reshrinkable de 1 GB en el archivo
MaxMemoryMB=32
TestCycles=3
TestCycleDuration=600
TargetIODuration=10000
UseScatterGather=FALSE

[File1]
FileName=sqliosim.mdx
InitialSize=1000 MaxSize=1000
Increment=10
Shrinkable=FALSE
LogFile=FALSE
Sparse=FALSE

[File2]
FileName=sqliosim.ldx
InitialSize=50
MaxSize=50
Increment=0
Shrinkable=FALSE
LogFile=TRUE
Sparse=FALSE

[File3]
FileName=sqliosim.mdx:replica
InitialSize=1000
MaxSize=1000
Increment=10
Shrinkable=FALSE
LogFile=FALSE
Sparse=TRUE

Advertencias sobre los valores de parámetro

  • Si el nombre del parámetro indica que el parámetro es una relación o un porcentaje, el valor del parámetro se expresa como porcentaje o la relación dividida por 0,01. Por ejemplo, el valor del CacheHitRatio parámetro es 10 percent. Este valor se expresa como 1000 porque 10 dividido entre 0,01 es igual a 1000. El valor máximo de un parámetro de porcentaje es 10000.
  • Si el tipo de parámetro es numérico y asigna un valor no numérico al parámetro , la utilidad SQLIOSim establece el parámetro 0en .
  • Si el tipo de parámetro es Boolean, los valores válidos que puede asignar al parámetro son true y false. Además, los valores distinguen mayúsculas de minúsculas. La utilidad SQLIOSim omite los valores no válidos.
  • Si un par de parámetros indica un valor mínimo y un valor máximo, el valor mínimo no debe superar el valor máximo. Por ejemplo, el valor del MinIOChainLength parámetro no debe ser mayor que el valor del MaxIOChainLength parámetro .
  • Si el parámetro indica una serie de páginas, la utilidad SQLIOSim comprueba el valor que asigna al parámetro en el archivo que procesa la utilidad SQLIOSim. La utilidad SQLIOSim realiza esta comprobación para asegurarse de que el número de páginas no supera el tamaño del archivo.

Secciones del archivo de configuración

Hay varias secciones en el archivo de configuración:

Cada una de estas secciones se describe en la sección siguiente.

Sección CONFIG

La utilidad SQLIOSim toma los valores que se especifican en la sección CONFIG del archivo de configuración de SQLIOSim para establecer el comportamiento de las pruebas globales.

Parámetro Default value Description Comentarios
ErrorFile sqliosim.log.xml Nombre del archivo de registro de tipo XML
CPUCount Número de CPU en el equipo Número de CPU lógicas que se van a crear El máximo es de 64 CPU.
Affinity 0 Máscara de afinidad de CPU física que se va a aplicar a las CPU lógicas La máscara de afinidad debe estar dentro de la máscara de CPU activa. Un valor de 0 significa que se usarán todas las CPU disponibles.
MaxMemoryMB Memoria física disponible cuando se inicia la utilidad SQLIOSim Tamaño del grupo de búferes en MB El valor no puede superar la cantidad total de memoria física en el equipo.
StopOnError true Detiene la simulación cuando se produce el primer error
TestCycles 1 Número de ciclos de prueba completos que se van a realizar Un valor de 0 indica un número infinito de ciclos de prueba.
TestCycleDuration 300 Duración de un ciclo de prueba en segundos, excepto el paso de auditoría al final del ciclo
CacheHitRatio 1 000 Proporción de aciertos de caché simulada cuando la utilidad SQLIOSim lee del disco
MaxOutstandingIO 0 Número máximo de operaciones de E/S pendientes permitidas en todo el proceso El valor no puede superar los 140 000. Un valor de 0 significa que se permiten hasta 140 000 operaciones de E/S aproximadamente. Este es el límite de la utilidad.
TargetIODuration 100 Duración de las operaciones de E/S, en milisegundos, destinadas a la limitación Si la duración media de E/S supera la duración de E/S de destino, la utilidad SQLIOSim limita el número de operaciones de E/S pendientes para reducir la carga y mejorar el tiempo de finalización de E/S.
AllowIOBursts true Permitir desactivar la limitación para publicar muchas solicitudes de E/S Las ráfagas de E/S se habilitan durante la actualización inicial, el punto de control inicial y los puntos de comprobación finales al final de los ciclos de prueba. El MaxOutstandingIO parámetro todavía se respeta. Puede esperar advertencias de E/S largas.
NoBuffering true Use la opción FILE_FLAG_NO_BUFFERING. SQL Server abre archivos de base de datos mediante FILE_FLAG_NO_BUFFERING == true. Algunas utilidades y servicios, como Analysis Services, usan FILE_FLAG_NO_BUFFERING == false. Para probar completamente un servidor, ejecute una prueba para cada configuración.
WriteThrough true Use la opción FILE_FLAG_WRITE_THROUGH. SQL Server abre archivos de base de datos mediante FILE_FLAG_WRITE_THROUGH == true. Sin embargo, algunas utilidades y servicios abren los archivos de base de datos mediante FILE_FLAG_WRITE_THROUGH == false. Por ejemplo, SQL Server Analysis Services abre los archivos de base de datos mediante FILE_FLAG_WRITE_THROUGH == false. Para probar completamente un servidor, ejecute una prueba para cada configuración.
ScatterGather true Uso ReadScatter o WriteGather API Si este parámetro se establece trueen , el NoBuffering parámetro también se establece trueen .

SQL Server usa E/S de dispersión/recopilación para la mayoría de las solicitudes de E/S.
ForceReadAhead true Realizar una operación de lectura anticipada incluso si los datos ya se leen La utilidad SQLIOSim emite el comando read incluso si la página de datos ya está en el grupo de búferes.

El soporte técnico de Microsoft SQL Server ha usado correctamente la configuración true para exponer problemas de E/S.
DeleteFilesAtStartup true Eliminar archivos en el inicio si existen archivos Un archivo puede contener varios flujos de datos. Solo los flujos especificados en la File <N> FileName entrada se truncan en el archivo. Si se especifica la secuencia predeterminada, se eliminan todas las secuencias.
DeleteFilesAtShutdown false Eliminar archivos una vez finalizada la prueba Un archivo puede contener varios flujos de datos. Solo los flujos de datos especificados en la File <N> FileName entrada se truncan en el archivo. Si se especifica el flujo de datos predeterminado, la utilidad SQLIOSim elimina todos los flujos de datos.
StampFiles false Expanda el archivo marcando ceros Este proceso puede tardar mucho tiempo si el archivo es grande. Si establece este parámetro en false, la utilidad SQLIOSim extiende el archivo estableciendo un marcador de datos válido.

SQL Server 2005 usa la característica de inicialización instantánea de archivos para archivos de datos. Si el archivo de datos es un archivo de registro o si la inicialización instantánea de archivos no está habilitada, SQL Server realiza un stamping cero. Las versiones de SQL Server anteriores a SQL Server 2000 siempre realizan un stamping cero.

Debe cambiar el valor del parámetro durante las StampFiles pruebas para asegurarse de que tanto la inicialización instantánea de archivos como la marca cero funcionan correctamente.

> Sección N del archivo<

La utilidad SQLIOSim está diseñada para permitir varias pruebas de archivos. La File<N> sección se representa como [File1], [File2] para cada archivo de la prueba.

Parámetro Default value Description Comentarios
FileName No hay valor predeterminado Ruta de acceso y nombre de archivo El FileName parámetro puede ser una ruta de acceso larga o una ruta de acceso UNC. También puede incluir un nombre de secuencia secundario y un tipo. Por ejemplo, el FileName parámetro se puede establecer en file.mdf:stream2.

NOTA En SQL Server 2005, las operaciones DBCC usan secuencias. Se recomienda realizar pruebas de flujo.
InitialSize No hay valor predeterminado Tamaño inicial en MB Si el archivo existente es mayor que el valor especificado para el InitialSize parámetro , la utilidad SQLIOSim no reduce el archivo existente. Si el archivo existente es menor, la utilidad SQLIOSim expande el archivo existente.
MaxSize No hay valor predeterminado Tamaño máximo en MB Un archivo no puede crecer más que el valor especificado para el MaxSize parámetro .
Increment 0 Tamaño en MB del incremento por el que el archivo crece o se reduce. Para obtener más información, consulte la ShrinkUser sección de este artículo. La utilidad SQLIOSim ajusta el Increment parámetro en el inicio para que se establezca la situación: Increment * MaxExtents < MaxMemoryMB / NumberOfDataFiles.
Si el valor de Increment es 0, la utilidad SQLIOSim establece el archivo como no reducible.
Shrinkable false Indica si el archivo se puede reducir o expandir. Si establece el Increment parámetro 0en , establezca que el archivo no se pueda reducir. En este caso, debe establecer el Shrinkable parámetro falseen . Si establece el Increment parámetro en un valor distinto 0de , establezca el archivo que se va a reducir. En este caso, debe establecer el Shrinkable parámetro trueen .
Sparse false Indica si el atributo Sparse debe establecerse en los archivos. En el caso de los archivos existentes, la utilidad SQLIOSim no borra el atributo Sparse cuando se establece el Sparse parámetro en false.

SQL Server 2005 usa archivos dispersos para admitir bases de datos de instantáneas y las secuencias DBCC secundarias.

Se recomienda habilitar tanto el archivo disperso como las secuencias y, a continuación, realizar una prueba superada.

NOTA Si establece Sparse = true para la configuración del archivo, no especifique NoBuffering = false en la config sección . Si usa estas dos combinaciones en conflicto, puede recibir un error similar al siguiente de la herramienta:

Error:-=====Error: 0x80070467
Texto de error: al acceder al disco duro, se produjo un error en una operación de disco incluso después de los reintentos.
Descripción: Error de validación del búfer en la página C:\SQLIOSim.mdx: 28097
LogFile false Indica si un archivo contiene datos de registro de transacciones o de usuario. Debe definir al menos un archivo de registro.

Sección RandomUser

La utilidad SQLIOSim toma los valores especificados en la RandomUser sección para simular un trabajo de SQL Server que realiza operaciones de consulta aleatorias, como patrones de E/S de procesamiento de transacciones en línea (OLTP).

Parámetro Default value Description Comentarios
UserCount -1 Número de subprocesos de acceso aleatorio que se ejecutan al mismo tiempo El valor no puede superar el valor: CPUCount*1023-100.
El número total de todos los usuarios tampoco puede superar este valor. Un valor de cero (0) significa que no se puede crear usuarios de acceso aleatorio. Un valor de -1 significa que debe usar la configuración automática del valor: min(CPUCount*2, 8).
NOTA Un sistema de SQL Server puede tener miles de sesiones. La mayoría de las sesiones no tienen solicitudes activas. Use la count(*) función en consultas en la sys.dm_exec_requests vista de administración dinámica (DMV) como línea base para establecer este valor de parámetro de prueba.

CPUCount aquí hace referencia al valor del CPUCount parámetro en la CONFIG sección .

El min(CPUCount*2, 8) valor da como resultado el menor de los valores entre CPUCount*2 y 8.
JumpToNewRegionPercentage 500 La posibilidad de saltar a una nueva región del archivo El inicio de la región se selecciona aleatoriamente. El tamaño de la región es un valor aleatorio entre el valor del MinIOChainLength parámetro y el valor del MaxIOChainLength parámetro.
MinIOChainLength 1 Tamaño mínimo de región en páginas
MaxIOChainLength 100 Tamaño máximo de región en páginas SQL Server 2005 Enterprise Edition y SQL Server 2000 Enterprise Edition pueden leer hasta 1024 páginas.

El valor mínimo es 0. El valor máximo está limitado por la memoria del sistema.

Normalmente, la actividad aleatoria del usuario hace que se produzcan pequeñas operaciones de examen. Use los valores especificados en la ReadAheadUser sección para simular operaciones de examen más grandes.
RandomUserReadWriteRatio 9000 Porcentaje de páginas que se van a actualizar Se selecciona una cadena de longitud aleatoria en la región y se puede leer. Este parámetro define el porcentaje de las páginas que se van a actualizar y escribir en el disco.
MinLogPerBuffer 64 Tamaño mínimo del registro en bytes El valor debe ser un múltiplo del tamaño del sector en disco o un tamaño que se ajuste uniformemente al tamaño del sector en disco.
MaxLogPerBuffer 8192 Tamaño máximo del registro en bytes Este valor no puede superar los 64 000. El valor debe ser un múltiplo del tamaño del sector en disco.
RollbackChance 100 La posibilidad de que se produzca una operación en memoria que provoque una operación de reversión. Cuando se produce esta operación de reversión, SQL Server no escribe en el archivo de registro.
SleepAfter 5 Tiempo de suspensión después de cada ciclo, en milisegundos

Sección AuditUser

La utilidad SQLIOSim toma los valores especificados en la AuditUser sección para simular la actividad DBCC para leer y auditar la información sobre la página. La validación se produce incluso si el valor del UserCount parámetro se establece en 0.

Parámetro Default value Description Comentarios
UserCount 2 Número de subprocesos de auditoría El valor no puede superar el siguiente valor: CPUCount*1023-100.
El número total de todos los usuarios tampoco puede superar este valor. Un valor de 0 significa que no se puede crear usuarios de acceso aleatorio. Un valor de -1 significa que debe usar la configuración automática del valor: min(CPUCount*2, 8).
NOTA Un sistema de SQL Server puede tener miles de sesiones. La mayoría de las sesiones no tienen solicitudes activas. Use la count(*) función en consultas de la sys.dm_exec_requests DMV como línea base para establecer este valor de parámetro de prueba.

CPUCount aquí hace referencia al valor del CPUCount parámetro en la CONFIG sección .

El min(CPUCount*2, 8) valor da como resultado el menor de los valores entre CPUCount*2 y 8.
BuffersValidated 64
DelayAfterCycles 2 Aplicar el parámetro AuditDelay una vez completado el número de ciclos BuffersValidated
AuditDelay 200 Número de milisegundos que se deben esperar después de cada DelayAfterCycles operación

Sección ReadAheadUser

La utilidad SQLIOSim toma los valores especificados en la ReadAheadUser sección para simular la actividad de lectura anticipada de SQL Server. SQL Server aprovecha la actividad de lectura previa para maximizar las funcionalidades de E/S asincrónicas y limitar los retrasos de las consultas.

Parámetro Default value Description Comentarios
UserCount 2 Número de subprocesos de lectura anticipada El valor no puede superar el siguiente valor: CPUCount*1023-100.
El número total de todos los usuarios tampoco puede superar este valor. Un valor de 0 significa que no se puede crear usuarios de acceso aleatorio. Un valor de -1 significa que debe usar la configuración automática del siguiente valor: min(CPUCount*2, 8).
NOTA Un sistema de SQL Server puede tener miles de sesiones. La mayoría de las sesiones no tienen solicitudes activas. Use la count(*) función en consultas de la sys.dm_exec_requests DMV como línea base para establecer este valor de parámetro de prueba.

CPUCount aquí hace referencia al valor del CPUCount parámetro en la sección CONFIG.

El min(CPUCount*2, 8) valor da como resultado el menor de los valores entre CPUCount*2 y 8.
BuffersRAMin 32 Número mínimo de páginas que se van a leer por ciclo El valor mínimo es 0. El valor máximo está limitado por la memoria del sistema.
BuffersRAMax 64 Número máximo de páginas que se van a leer por ciclo Las ediciones enterprise de SQL Server pueden leer hasta 1024 páginas en una sola solicitud. Si instala SQL Server en un equipo que tiene una gran cantidad de recursos de CPU, memoria y disco, se recomienda aumentar el tamaño de archivo y el tamaño de lectura anticipada.
DelayAfterCycles 2 Aplicar el RADelay parámetro una vez completado el número especificado de ciclos
RADelay 200 Número de milisegundos que se deben esperar después de cada DelayAfterCycles operación

Sección BulkUpdateUser

La utilidad SQLIOSim toma los valores que se especifican en la BulkUpdateUser sección para simular operaciones masivas, como SELECT...INTO operaciones y BULK INSERT operaciones.

Parámetro Default value Description Comentarios
UserCount -1 Número de BULK UPDATE subprocesos El valor no puede superar el siguiente valor: CPUCount*1023-100
Un valor de -1 significa que debe usar la configuración automática del siguiente valor: min(CPUCount*2, 8).
NOTA Un sistema de SQL Server puede tener miles de sesiones. La mayoría de las sesiones no tienen solicitudes activas. Use la count(*) función en consultas de la sys.dm_exec_requests DMV como línea base para establecer este valor de parámetro de prueba.

CPUCount aquí hace referencia al valor del CPUCount parámetro en la CONFIG sección .

El min(CPUCount*2, 8) valor da como resultado el menor de los valores entre CPUCount*2 y 8.
BuffersBUMin 64 Número mínimo de páginas que se van a actualizar por ciclo
BuffersBUMax 128 Número máximo de páginas que se van a actualizar por ciclo El valor mínimo es 0. El valor máximo está limitado por la memoria del sistema.
DelayAfterCycles 2 Aplicar el BUDelay parámetro una vez completado el número especificado de ciclos
BUDelay 10 Número de milisegundos que se deben esperar después de cada DelayAfterCycles operación

Sección ShrinkUser

La utilidad SQLIOSim toma los valores especificados en la ShrinkUser sección para simular las operaciones de reducción de DBCC. La utilidad SQLIOSim también puede usar la ShrinkUser sección para hacer que el archivo crezca.

Parámetro Default value Description
MinShrinkInterval 120 Intervalo mínimo entre las operaciones de reducción en segundos
MaxShrinkInterval 600 Intervalo máximo entre las operaciones de reducción en segundos
MinExtends 1 Número mínimo de incrementos por los que la utilidad SQLIOSim aumentará o reducirá el archivo.
MaxExtends 20 Número máximo de incrementos por los que la utilidad SQLIOSim aumentará o reducirá el archivo.

Comentarios de archivos de .ini de configuración

El carácter de punto y coma (;) al principio de una línea del archivo de configuración .ini hace que la línea se trate como un único comentario.

Creación de archivos

La utilidad SQLIOSim crea archivos de datos independientes y archivos de registro para simular los patrones de E/S que SQL Server genera en su archivo de datos y su archivo de registro. La utilidad SQLIOSim no usa el motor de SQL Server para realizar la actividad de estrés. Por lo tanto, puede usar la utilidad SQLIOSim para probar un equipo antes de instalar SQL Server.

Al ejecutar la utilidad SQLIOSim, asegúrese de especificar la misma ubicación de archivo que usa para los archivos de base de datos de SQL Server. Al hacerlo, la utilidad simula la misma ruta de acceso de E/S que la base de datos de SQL Server.

Puede habilitar los atributos comprimir o cifrar para los archivos de prueba existentes. También puede habilitar estos atributos para el directorio existente donde se crearán los archivos de prueba. Las opciones correspondientes para habilitar estos atributos se encuentran en el cuadro de diálogo Propiedades de un archivo o directorio.

De forma predeterminada, la utilidad SQLIOSim crea archivos de prueba que tienen las extensiones de nombre de archivo .mdx y .ldx . Por lo tanto, estos archivos no sobrescribirán los archivos de registro y datos existentes.

Advertencia

No especifique los archivos reales de base de datos de SQL Server para las pruebas. La utilidad SQLIOSim sobrescribirá los datos con patrones de prueba aleatorios y se perderán los datos reales de SQL Server.

Registro de errores y control de SQLIOSim

La utilidad SQLIOSim crea el archivo de registro de errores en una de las siguientes ubicaciones:

  • Ubicación que especifique en el parámetro de inicio del registro.
  • Ubicación que especifique en la ErrorFile= línea del archivo Sqliosim.cfg.ini

El registro de errores de SQLIOSim.log.xml contiene detalles sobre la ejecución. Estos detalles incluyen información de error. Revise cuidadosamente el registro para obtener información de error e información de advertencia.

Nota:

Si experimenta un error en la utilidad SQLIOSim, se recomienda que pida al fabricante de hardware que ayude a determinar la causa principal del problema. El problema también podría deberse a un controlador de dispositivo, al controlador de filtro del sistema de archivos (por ejemplo, antivirus) o al sistema operativo.

Múltiples copias

La utilidad SQLIOSim admite pruebas de nivel de varios archivos y pruebas de varios usuarios. La utilidad SQLIOSim no requiere varias invocaciones. Puede ejecutar varias copias de la utilidad SQLIOSim si se cumplen las condiciones siguientes:

  • Todas las copias hacen referencia a archivos de prueba únicos por instancia de la utilidad.
  • El MaxMemoryMB parámetro de cada instancia proporciona una región de memoria no superpuesta suficiente para cada instancia.

La suma del MaxMemoryMB parámetro para cada instancia debe ser menor o igual que la memoria física total. Algunas fases de prueba, como la simulación de punto de comprobación, pueden consumir mucha memoria y pueden crear condiciones de memoria insuficiente al ejecutar varias copias. Si experimenta errores de memoria insuficiente, puede reducir el número de copias de utilidad en ejecución.

Referencias