Usar 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

Resumen

Para Microsoft SQL Server 2005, SQLIOSim se incluyó como un paquete de descarga independiente. A partir de SQL Server 2008, SQLIOSim se incluye con la instalación del producto de SQL Server. Al instalar SQL Server, encontrará la herramienta SQLIOSim en la carpeta BINN de la instalación de SQL Server. Se recomienda usar estas versiones actualizadas de la herramienta para simular la actividad de e/s en el subsistema de disco.

La utilidad SQLIOSim sustituye a la utilidad SQLIOStress. La utilidad SQLIOStress se conocía anteriormente como utilidad SQL70IOStress.

Este artículo también contiene información sobre la descarga de la utilidad SQLIOSim.

Introducción

En este artículo se describe la herramienta SQLIOSim. Puede usar esta herramienta para realizar pruebas de confiabilidad y de integridad en subsistemas de disco. Estas pruebas simulan actividades de lectura, escritura, punto de comprobación, copia de seguridad, ordenación y lectura anticipada para Microsoft SQL Server. Sin embargo, si tiene que realizar pruebas de Benchmark y determinar la capacidad de e/s del sistema de almacenamiento, debe usar la herramienta Diskspd .

Información general

La utilidad SQLIOSim se ha actualizado desde la utilidad SQLIOStress. La utilidad SQLIOSim simula con más precisión los patrones de e/s de Microsoft SQL Server.

Para obtener más información acerca de los patrones de e/s de SQL Server, consulte conceptos básicos de e/s de SQL Server, capítulo 2.

Nota

Para ayudar a mantener la seguridad y la integridad de los datos apropiados, le recomendamos que realice pruebas de esfuerzo del subsistema de e/s antes de implementar SQL Server en hardware nuevo. La utilidad SQLIOSim simula los patrones de lectura, los patrones de 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 realiza esta simulación de independiente del motor de SQL Server.

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

Para obtener más información acerca del 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.

El paquete de descarga contiene dos archivos ejecutables, SQLIOSim.com y SQLIOSim.exe. Ambos archivos ejecutables proporcionan capacidades de simulación idénticas. SQLIOSim.com es una herramienta de línea de comandos que puede configurar para que se ejecute sin interacción del usuario. Para ello, 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 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.

Parámetros de la línea de comandos SQLIOSim.com

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 se solapan los parámetros de la línea de comandos y las opciones del archivo de configuración, tienen prioridad los parámetros de la línea de comandos.

Parámetro Comentario
-cfg File Invalide el archivo de configuración predeterminado Sqliosim.cfg.ini. La utilidad SQLIOSim devuelve un error si la utilidad no encuentra el archivo.
-guardar archivo Guarde la configuración resultante en el archivo de configuración. Puede usar esta opción para crear el archivo de configuración inicial.
- archivo de registro Especifique el nombre del archivo de registro de errores y la ruta del archivo de registro de errores. El nombre de archivo predeterminado es Sqliosim.log.xml.
-DIR dir 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.
-tamaño MB 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 superar los 50 MB.

Archivo de configuración de SQLIOSim

Los archivos de configuración de ejemplo para varias pruebas pueden descargarse aquí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 los 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 de SQLIOSim.exe.
  • Use la sección archivo x del archivo de configuración.

Nota

  • Si el nombre del parámetro indica que el parámetro es una proporción o un porcentaje, el valor del parámetro se expresa como el porcentaje o la proporción, dividido por 0,01. Por ejemplo, el valor del CacheHitRatio parámetro es el 10 por ciento. Este valor se expresa como 1000 porque 10, dividido por 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 se 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 se pueden asignar al parámetro son true y false. Además, los valores distinguen mayúsculas de minúsculas. La utilidad SQLIOSim ignora 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 ser mayor que 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 un número de páginas, la utilidad SQLIOSim comprueba el valor que se asigna al parámetro con 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.

Sección de configuración

La utilidad SQLIOSim toma los valores especificados en la sección CONFIG del archivo de configuración SQLIOSim para establecer el comportamiento global de las pruebas.

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 64 CPU.
Afinidad comprendi Máscara de afinidad de CPU física que se 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 del equipo.
StopOnError true Detiene la simulación cuando se produce el primer error.
TestCycles 1 Número de ciclos de prueba completos que se deben 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, sin incluir el paso de auditoría al final del ciclo
CacheHitRatio 1000 Proporción de aciertos de caché simulada cuando la utilidad SQLIOSim lee desde el disco
MaxOutstandingIO comprendi Número máximo de operaciones de e/s pendientes que se permiten en todo el proceso. El valor no puede superar 140000. Un valor de 0 significa que se permiten hasta aproximadamente 140.000 operaciones de e/s. 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 la hora de finalización de e/s.
AllowIOBursts true Permitir la desactivación de la limitación para publicar muchas solicitudes de e/s Las ráfagas de e/s están habilitadas durante la actualización inicial, el punto de control inicial y el punto de comprobación final al final de los ciclos de prueba. El parámetro MaxOutstandingIO sigue siendo respetado. Puede esperar largas advertencias de e/s.
Sin almacenamiento en búfer true Usar la opción FILE_FLAG_NO_BUFFERING SQL Server abre los 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 opción FILE_FLAG_WRITE_THROUGH SQL Server abre los archivos de base de datos mediante FILE_FLAG_WRITE_THROUGH = = true. Sin embargo, algunas utilidades y servicios abren los archivos de la base de datos con FILE_FLAG_WRITE_THROUGH = = false. Por ejemplo, SQL Server Analysis Services abre los archivos de base de datos con FILE_FLAG_WRITE_THROUGH = = false. Para probar completamente un servidor, ejecute una prueba para cada configuración.
ScatterGather true Usar las API de ReadScatter/WriteGather Si este parámetro se establece en true, el parámetro Nobuffering también se establece en true.

SQL Server usa e/s de dispersión y 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 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 verdadera para exponer problemas de e/s.
DeleteFilesAtStartup true Eliminar archivos al inicio si hay archivos Un archivo puede contener varias secuencias de datos. Solo se truncarán en el archivo las secuencias especificadas en la entrada del nombre de archivo x . Si se especifica la secuencia predeterminada, se eliminan todas las secuencias.
DeleteFilesAtShutdown false Eliminar archivos una vez finalizada la prueba Un archivo puede contener varias secuencias de datos. Solo se truncarán en el archivo las secuencias de datos que especifique en la entrada de nombre de archivo x . Si se especifica la secuencia de datos predeterminada, la utilidad SQLIOSim elimina todas las secuencias de datos.
StampFiles false Expanda el archivo marcando ceros Este proceso puede tardar mucho tiempo si el archivo es grande. Si este parámetro se establece en false, la utilidad SQLIOSim amplía el archivo mediante la configuración de un marcador de datos válido.

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

Debe cambiar el valor del parámetro StampFiles durante la prueba para asegurarse de que la inicialización de archivos instantáneos y el marcado cero funcionen correctamente.

Sección FILEX

La utilidad SQLIOSim está diseñada para permitir varias comprobaciones de archivo. La sección archivo x se representa como [archivo1], [archivo2] para cada archivo de la prueba.

Parámetro Valor predeterminado Descripción Comentarios
FileName Ningún valor predeterminado Nombre de archivo y ruta de acceso El parámetro filename puede ser una ruta de acceso larga o una ruta de acceso UNC. También puede incluir un tipo y un nombre de secuencia secundaria. Por ejemplo, el parámetro filename puede establecerse en file. MDF: stream2.

Nota: En SQL Server 2005, los operaciones DBCC usan secuencias. Le recomendamos que realice pruebas de transmisión por secuencias.
InitialSize Ningún valor predeterminado Tamaño inicial en MB Si el archivo existente es mayor que el valor especificado para el parámetro InitialSize , la utilidad SQLIOSim no comprime el archivo existente. Si el archivo existente es más pequeño, la utilidad SQLIOSim expande el archivo existente.
Tamaño Ningún valor predeterminado Tamaño máximo en MB Un archivo no puede crecer más que el valor especificado para el parámetro MaxSize .
Increment comprendi Tamaño en MB del incremento en el que el archivo se expande o se reduce. Para obtener más información, vea la sección "ShrinkUser" de este artículo. La utilidad SQLIOSim ajusta el parámetro Increment en el inicio para que se establezca la siguiente situación: Increment * MaxExtents < MaxMemoryMB/NumberOfDataFiles
Si el resultado es 0, la utilidad SQLIOSim establece el archivo como no se reduce.
Se reduce false Indica si se puede reducir o expandir el archivo Si establece el parámetro Increment en 0, el archivo se establece en no se puede reducir. En este caso, debe establecer el parámetro Shrinkable en false. Si establece el parámetro Increment en un valor distinto de 0, el archivo se establece en un valor que se puede reducir. En este caso, debe establecer el parámetro Shrinkable en true.
Dispersa false Indica si el atributo esparcido debe establecerse en los archivos. Para los archivos existentes, la utilidad SQLIOSim no borra el atributo esparcido cuando se establece el parámetro Sparse en false.

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

Le recomendamos que habilite el archivo disperso y las secuencias y, a continuación, realice un paso de prueba.

Nota: Si se establece Sparse = true para la configuración del archivo, no se debe especificar nobuffering = false en la sección config. Si usa estas dos combinaciones conflictivas, puede recibir un error similar al siguiente de la herramienta:

Error:-= = = = = error: 0x80070467
Texto de error: durante el acceso al disco duro, se produjo un error en una operación de disco incluso después de varios intentos.
Descripción: error de validación de búfer en C:\SQLIOSim.mdx Page: 28097
Crecer false Indica si un archivo contiene datos de usuario o de registro de transacciones Debe definir al menos un archivo de registro.

Sección RandomUser

La utilidad SQLIOSim toma los valores que se especifican en la sección RandomUser 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 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 pueden 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 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 parámetro CPUCount en la sección config.

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

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

Normalmente, la actividad de usuario aleatoria produce pequeñas operaciones de análisis. Use los valores que se especifican en la sección ReadAheadUser para simular operaciones de detección de mayor tamaño.
RandomUserReadWriteRatio 9000 Porcentaje de páginas que se van a actualizar Una cadena de longitud aleatoria está seleccionada en la región y puede leerse. 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 de registro de registro en bytes El valor debe ser un múltiplo del tamaño del sector en el disco o un tamaño que se ajuste uniformemente al tamaño del sector en el disco.
MaxLogPerBuffer 8192 Tamaño máximo del registro en bytes Este valor no puede superar 64000. El valor debe ser un múltiplo del tamaño del sector en el disco.
RollbackChance 100 La posibilidad de que se produzca una operación en la memoria que provoque la operación de reversión. Cuando se produce la operación de reversión, SQL Server no escribe en el archivo de registro.
SleepAfter 5 Tiempo de espera después de cada ciclo, en milisegundos

Sección AuditUser

La utilidad SQLIOSim toma los valores que se especifican en la sección AuditUser 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 parámetro UserCount 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 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 pueden 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 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í 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.
BuffersValidated 64
DelayAfterCycles 2 Aplicar el parámetro AuditDelay una vez completado el número de ciclos de BuffersValidated
AuditDelay 200 Número de milisegundos que se debe esperar después de cada operación DelayAfterCycles

Sección ReadAheadUser

La utilidad SQLIOSim toma los valores especificados en la sección ReadAheadUser para simular la actividad de lectura anticipada de SQL Server. SQL Server aprovecha la actividad de lectura anticipada para maximizar las capacidades de e/s asincrónica y limitar los retrasos de consulta.

Parámetro Valor predeterminado Descripción 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 pueden 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 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í hace referencia al valor del parámetro CPUCount 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 leerán por ciclo SQL Server Enterprise Edition puede leer hasta 1.024 páginas en una sola solicitud. Si instala SQL Server en un equipo que tiene mucha CPU, memoria y recursos de disco, le recomendamos que aumente el tamaño del archivo y el tamaño de lectura anticipada.
DelayAfterCycles 2 Aplicar el parámetro RADelay una vez completado el número especificado de ciclos
RADelay 200 Número de milisegundos que se debe esperar después de cada operación DelayAfterCycles

Sección BulkUpdateUser

La utilidad SQLIOSim toma los valores que se especifican en la sección BulkUpdateUser para simular operaciones masivas, como SELECT... EN operaciones y operaciones de inserción masiva.

Parámetro Valor predeterminado Descripción Comentarios
UserCount -1 Número de subprocesos de actualización masiva 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 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í 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.
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 debe esperar después de cada operación DelayAfterCycles

Sección ShrinkUser

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

Parámetro Valor predeterminado Descripción
MinShrinkInterval 120 Intervalo mínimo entre operaciones de reducción, en segundos
MaxShrinkInterval 600 Intervalo máximo entre 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 en que la utilidad SQLIOSim aumentará o reducirá el archivo

Comentarios del archivo Configuration. ini

El carácter de punto y coma (;) al principio de una línea en el archivo Configuration. ini, la línea se trata como un comentario único.

Creación de archivos

La utilidad SQLIOSim crea archivos de datos y 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 actividades de esfuerzo. Por lo tanto, puede usar la utilidad SQLIOSim para probar un equipo antes de instalar SQL Server.

Cuando ejecute la utilidad SQLIOSim, asegúrese de especificar la misma ubicación de archivos que usa para los archivos de base de datos de SQL Server. Al hacerlo, la utilidad simula la misma ruta de e/s que la base de datos de SQL Server.

Puede habilitar el atributo compress o el atributo 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 para un archivo o un directorio.

De forma predeterminada, la utilidad SQLIOSim crea archivos de prueba con las extensiones de nombre de archivo. MDX y. LDX. Por lo tanto, estos archivos no sobrescribirán los archivos de datos y de registro 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 reales de SQL Server.

Registro y control 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.
  • La ubicación que especifique en la línea ErrorFile = del archivo de 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 el registro con cuidado para obtener información de error e información de advertencia.

Nota

Si experimenta un error en la utilidad SQLIOSim, le recomendamos que pida al fabricante de hardware que le ayude a determinar la causa raíz del problema.

Varias copias

La utilidad SQLIOSim admite pruebas en el nivel de archivo múltiples y pruebas de varios usuarios. La utilidad SQLIOSim no requiere varias invocaciones. Sin embargo, la utilidad SQLIOStress requiere varias invocaciones. Puede ejecutar varias copias de la utilidad SQLIOSim si se cumplen las siguientes condiciones:

  • 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 control, 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 la utilidad que se están ejecutando.

Archivos de configuración de ejemplo

Además del archivo Sqliosim.cfg.ini predeterminado, el paquete proporciona los siguientes archivos de ejemplo.

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

Los archivos son pequeños para mantenerlos completamente en la memoria

No hay lecturas secuenciales
Para la sección AuditUser y para la sección ReadAheadUser:

CacheHitRatio = 10000
UserCount = 0
Sqliosim.nothrottle.cfg.ini Quitar 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 son pequeños para mantenerlos completamente en la memoria

Los archivos se convierten en no reducidos

No hay lecturas secuenciales

Sin acceso aleatorio

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

Para la sección AuditUser, para la sección ReadAheadUser y para la sección RandomUser:

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

Hacer que la duración de e/s de destino sea lo suficientemente grande como para permitir 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

Crear un archivo de 1 GB no se reduce

Crear una secuencia dispersa secundaria no reduciendo el valor de 1 GB en el archivo
MaxMemoryMB = 32
TestCycles = 3
TestCycleDuration = 600
TargetIODuration = 10000
UseScatterGather = FALSE

File1
FileName = sqliosim. MDX
InitialSize = 1000 MaxSize = 1000
Incremento = 10
Shrinkable = FALSE
LogFile = FALSE
Sparse = FALSE

Archivo2
FileName = sqliosim. LDX
InitialSize = 50
MaxSize = 50
Increment = 0
Shrinkable = FALSE
LogFile = TRUE
Sparse = FALSE

Archivo3
FileName = sqliosim. MDX: replica
InitialSize = 1000
MaxSize = 1000
Incremento = 10
Shrinkable = FALSE
LogFile = FALSE
Sparse = TRUE

Referencias