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
Vaya a C:\Archivos de programa\Microsoft SQL Server\MSSQLXX.<InstanceName>\MSSQL\Binn.
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.
Resalte el primer archivo mdx C:\temp\sqliosim\sqliosim.mdx en la lista. Este archivo es el equivalente de un archivo de datos.
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.
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.
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.
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:
Una vez que esté satisfecho con la configuración, seleccione el botón Aceptar .
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.
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
Modifique el archivo sqliosim.default.cfg.ini quitando los comentarios de las
File1
secciones y yFile2
modificando losFileName
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
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. |
-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. |
-size 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 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 es10 percent
. Este valor se expresa como1000
porque 10 dividido entre 0,01 es igual a1000
. El valor máximo de un parámetro de porcentaje es10000
. - 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
0
en . - Si el tipo de parámetro es
Boolean
, los valores válidos que puede asignar al parámetro sontrue
yfalse
. 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 delMaxIOChainLength
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:
- [CONFIG]
- [RandomUser]
- [AuditUser]
- [ReadAheadUser]
- [BulkUpdateUser]
- [ShrinkUser]
- [Archivo<N>] (el marcador de posición
<N>
es un número)
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 true en , el NoBuffering parámetro también se establece true en .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 0 en , establezca que el archivo no se pueda reducir. En este caso, debe establecer el Shrinkable parámetro false en . Si establece el Increment parámetro en un valor distinto 0 de , establezca el archivo que se va a reducir. En este caso, debe establecer el Shrinkable parámetro true en . |
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.