Uso de la utilidad SQLIOSim para simular SQL Server actividad 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 SQL Server actividad.

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 SQL Server utiliza. Estas pruebas SQLIOSim simulan actividades de lectura, escritura, punto de control, copia de seguridad, ordenación y lectura anticipada que Microsoft SQL Server realiza. Para obtener más información sobre SQL Server patrones de E/S, consulte SQL Server Conceptos básicos de E/S, 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 el SQL Server empiece a usarlo. SQLIOSim no interactúa con SQL Server y ni siquiera requiere que SQL Server esté en ejecución. De hecho, en la mayoría de los casos, se recomienda usar SQLIOSim cuando SQL Server no se esté ejecutando para evitar la competencia por el rendimiento de E/S entre las dos aplicaciones. Tenga mucho cuidado de no señalar ni usar los archivos de base de datos de SQL Server reales en la prueba de SQLIOSim, ya que 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 el 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 SQL Server.

La utilidad SQLIOSim no garantiza ni garantiza la seguridad ni la integridad 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, consulte 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 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 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 idénticas de simulación de E/S.

  • 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, vea la sección Archivo de configuración 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 donde tiene previsto 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 de una máquina en la que está instalado SQL Server y ejecutar las pruebas antes de una instalación SQL Server. Copie SQLIOSim.com, SQLIOSim.exey, 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 el servicio de SQL Server que se ejecuta mientras ejecuta SQLIOSim. De hecho, se recomienda no ejecutar SQL Server mientras se ejecuta SQLIOSim, ya que pueden competir por recursos de E/S.

Advertencia

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

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 algunos valores predeterminados. 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 mdxC:\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 cuando desee simular un archivo de datos. A continuación, seleccione 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 haya terminado.

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

  6. Para agregar más archivos a la lista, seleccione 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. Aquí le mostramos 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: Uso de 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 File2 y modificando los FileName valores en 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ónsqliosim.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 de archivo de configuración se superponen, los parámetros de la línea de comandos tienen prioridad.

Parámetro Comentario
-cfgArchivo Invalide el Sqliosim.cfg.ini archivo de configuración predeterminado. La utilidad SQLIOSim devuelve un error si la utilidad no encuentra el archivo.
-saveArchivo Guarde la configuración resultante en el archivo de configuración. Puede usar esta opción para crear el archivo de configuración inicial.
-logArchivo 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 UNC.
-dSegundos 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 tener más de 50 MB.

Archivo de configuración SQLIOSim

Puede usar un archivo de configuración con SQLIOSim para ayudarle a elegir todas las opciones de configuración de la 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 desde el repositorio de GitHub del equipo de soporte técnico de SQL Server.

No es necesario 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 ejecuciones automatizadas de SQLIOSim.

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

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

- No hay 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 lecturas

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

- Los archivos se hacen no reducibles

- No hay 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 un flujo disperso secundario no reducible 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 el porcentaje o la proporción dividida entre 0,01. Por ejemplo, el valor del CacheHitRatio parámetro es 10 percent. Este valor se expresa como 1000 porque 10 dividido por 0,01 es 1000igual a . 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 en 0.
  • 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 varias 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 especificados en la sección CONFIG del archivo de configuración SQLIOSim para establecer el comportamiento de las pruebas globales.

Parámetro Valor predeterminado Descripción 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 para aplicar a 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 pase de auditoría al final del ciclo
CacheHitRatio 1000 Relación de aciertos de caché simulada cuando la utilidad SQLIOSim lee desde el 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, destinada 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 las pasadas de punto de control final al final de los ciclos de prueba. El MaxOutstandingIO parámetro todavía se respeta. Puede esperar advertencias de E/S largas.
NoBuffering true Usar la FILE_FLAG_NO_BUFFERING opción 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 Usar la FILE_FLAG_WRITE_THROUGH opción 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 en true, el NoBuffering parámetro también se establece en true.

SQL Server usa E/S de dispersión o 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 están leídos La utilidad SQLIOSim emite el comando de lectura 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 verdadera para exponer problemas de E/S.
DeleteFilesAtStartup true Eliminación de archivos en el inicio si existen archivos Un archivo puede contener varios flujos de datos. En el archivo solo se truncan las secuencias especificadas en la File <N> FileName entrada. Si se especifica la secuencia predeterminada, se eliminan todas las secuencias.
DeleteFilesAtShutdown false Eliminación de 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 amplía el archivo estableciendo un marcador de datos válido.

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

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

Sección Archivo<N>

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 Valor predeterminado Descripción Comentarios
FileName Sin valor predeterminado Nombre de archivo y ruta de acceso El FileName parámetro puede ser una ruta de acceso larga o una ruta de acceso UNC. También puede incluir un nombre y un tipo de secuencia secundarios. Por ejemplo, el FileName parámetro puede establecerse en file.mdf:stream2.

NOTA En SQL Server 2005, las operaciones dbcc usan secuencias. Se recomienda realizar pruebas de flujo.
InitialSize Sin 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 más pequeño, la utilidad SQLIOSim expande el archivo existente.
MaxSize Sin 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 crece o reduce el archivo. Para obtener más información, consulte la ShrinkUser sección de este artículo. La utilidad SQLIOSim ajusta el parámetro en el Increment 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 en 0, establezca el archivo en no reducible. En este caso, debe establecer el parámetro en Shrinkablefalse. Si establece el Increment parámetro en un valor distinto 0de , establezca el archivo para que se pueda reducir. En este caso, debe establecer el parámetro en Shrinkabletrue.
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 al establecer el Sparse parámetro en false.

SQL Server 2005 usa archivos dispersos para admitir bases de datos de instantáneas y flujos DBCC secundarios.

Se recomienda habilitar el archivo disperso y las secuencias y, a continuación, realizar un paso de prueba.

NOTA Si establece Sparse = true para la configuración de 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 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 Valor predeterminado Descripción 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 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í se refiere 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 un salto 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 las 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 por adelantado 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 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 de 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 haga que se produzca 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 sección para simular la AuditUser actividad DBCC con el fin de leer y auditar la información sobre la página. La validación se produce incluso si el valor del UserCount parámetro está establecido en 0.

Parámetro Valor predeterminado Descripción Comentarios
UserCount 2 Número de subprocesos de auditoría El valor no puede superar el valor siguiente: CPUCount*1023-100.
El número total de todos los usuarios tampoco puede superar este valor. Un valor de 0 significa que no 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 DMV como línea base para establecer este valor de parámetro de prueba.

CPUCount aquí se refiere 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 van a 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 SQL Server actividad de lectura anticipada. SQL Server aprovecha la actividad de lectura anticipada para maximizar las funcionalidades asincrónicas de E/S y limitar los retrasos en las consultas.

Parámetro Valor predeterminado Descripción Comentarios
UserCount 2 Número de subprocesos de lectura anticipada El valor no puede superar el valor siguiente: CPUCount*1023-100.
El número total de todos los usuarios tampoco puede superar este valor. Un valor de 0 significa que no 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 en la sys.dm_exec_requests DMV como línea base para establecer este valor de parámetro de prueba.

CPUCount aquí se refiere 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 SQL Server Enterprise ediciones 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 del 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 van a esperar después de cada DelayAfterCycles operación

Sección BulkUpdateUser

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

Parámetro Valor predeterminado Descripción Comentarios
UserCount -1 Número de BULK UPDATE subprocesos El valor no puede superar el valor siguiente: 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 en la sys.dm_exec_requests DMV como línea base para establecer este valor de parámetro de prueba.

CPUCount aquí se refiere 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 van a 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 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 Valor predeterminado Descripción
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 .ini archivo de configuración

El carácter de punto y coma (;) al principio de una línea en el 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 y archivos de registro independientes para simular los patrones de E/S que SQL Server genera en su archivo de datos y en su archivo de registro. La utilidad SQLIOSim no usa el motor de SQL Server para realizar la actividad de esfuerzo. 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 compress o encrypt 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 de base de datos de SQL Server reales para las pruebas. La utilidad SQLIOSim sobrescribirá los datos con patrones de prueba aleatorios y se perderán los datos SQL Server reales.

Control y registro de errores de SQLIOSim

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

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

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

Nota:

Si experimenta un error en la utilidad SQLIOSim, se recomienda pedir 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, un controlador de filtro del sistema de archivos (por ejemplo, antivirus) o el sistema operativo.

Varias copias

La utilidad SQLIOSim admite pruebas a nivel de varios archivos y pruebas a nivel 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 que es 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 puntos de comprobación, pueden ser intensivas en 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 que se ejecutan.

Referencias