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
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 algunos valores predeterminados. Puede modificar esta configuración para que coincida con sus necesidades de configuración.
Resalte el primer archivo mdxC:\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 cuando desee simular un archivo de datos. A continuación, seleccione 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 haya terminado.
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:
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: Uso de 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 yFile2
y modificando losFileName
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
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 |
---|---|
-cfg
Archivo |
Invalide el Sqliosim.cfg.ini archivo de configuración predeterminado. La utilidad SQLIOSim devuelve un error si la utilidad no encuentra el archivo. |
-save
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. |
-log
Archivo |
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 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 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 es10 percent
. Este valor se expresa como1000
porque 10 dividido por 0,01 es1000
igual a . 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 en
0
. - 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 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:
- [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 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 Shrinkable false . Si establece el Increment parámetro en un valor distinto 0 de , establezca el archivo para que se pueda reducir. En este caso, debe establecer el parámetro en Shrinkable true . |
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.