lunes, 23 de julio de 2012

Windows 2008: SQL Server herramientas de desempeno SQLIO.

Como veran tambien le meto maquinas a servidores windows, tengo que montar un sql-server 2008 y no queda mas que correrlo sobre windows 2008 R2.

Como es un servidor de bd, me gustaria saber como esta mi sistema de archivos, y mas que va a ser virtual con Xen 4.1.

Existen varias herramientas que nos ayudan a darle carrilla a el disco duro, una de ellas es sqlio, se baja directamente de Microsoft:

sqlio-link.

Esta herramienta funciona de la consola, no es una version GUI, asi que pierdanle el miedo a la consola, con MS-DOS asi se hacian las cosas.

Todo esto lo estamos haciendo en base a la pagina:

sqlio-tutorial-link

Mi VM donde estoy probando eso tiene las siguientes caracteristicas:

OS: Windows 2008 R2 x64
RAM: 2048
Espacio disponible: 6GB.
Cores=2.

Empezamos:


a) abrir el notepad como administrador
b) abrir el archivo de nombre param que se localiza donde esta instalado el sqlio: c:\Program Files (x86)\sqlio\
c) Editarlo y incrementar el tamano mas que lo se tiene en RAM, en mi caso lo deje en 3072 quedaria asi:

c:\testfile.dat 2 0x0 3072

d) Salvar archivo.
e) Crear el archivo para las pruebas, no se preocupen por los resultados, aqui deseamos crear el archivo para las pruebas siguientes, entonces en la consola se van a el directorio donde quedo instalado el sqlio y ejecutan lo siguiente:

sqlio -kW -s10 -fsequential -t8 -o8 -b8 -LS -Fparam.txt timeout /T 10

Esto va a tardar ya que estamos creando el archivo, al final vamos a tener nuestro archivo del tamano deseado:

Figura 1: Creando archivo con sqlio.
Una vez terminado tenemos lo siguiente en nuestro disco "C", no es necesario que sea el C puede ser cualquier directorio y es altamente recomendable que sea el disco donde vayan a instalar SQL Server.

Figura 2: Archivo creado para pruebas.
f) Listo.

Ya tenemos nuestro archivo para ahora si llevar a cabo nuestras pruebas que van a masacrar el disco, esto le va a poner mano dura a el disco duro, recomendacion no lo hagan con el sistema de produccion, mucho menos durante las hors laborales, debe ser cuando el servidor no se este usando y en dado caso agendarlo y avisar con tiempo a los departamento afectados.

Ahora vamos a crear un batch donde vamos a meter los siguientes comandos repetidos solo vamos a cambiar uno de ellos pero vamos a ejecutar la misma tarea repetidamente asi que un batch se presta bien.

Abran el notepad(como administrador) y agreguen estos comandos:

Pueden ser tantos ustedes crean convenientes, la idea es probar distintos valores y saber donde nuestro sistema de archivos le favorece:

sqlio -kW -t2 -s60 -o1 -frandom -b8 -BH -LS C:\TestFile.dat
sqlio -kW -t2 -s60 -o2 -frandom -b8 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o4 -frandom -b8 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o8 -frandom -b8 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o16 -frandom -b8 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o32 -frandom -b8 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o64 -frandom -b8 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o128 -frandom -b8 -BH -LS
C:\TestFile.dat
 

sqlio -kW -t2 -s60 -o1 -frandom -b16 -BH -LS C:\TestFile.dat
sqlio -kW -t2 -s60 -o2 -frandom -b16 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o4 -frandom -b16 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o8 -frandom -b16 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o16 -frandom -b16 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o32 -frandom -b16 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o64 -frandom -b16 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o128 -frandom -b16 -BH -LS
C:\TestFile.dat

sqlio -kW -t2 -s60 -o1 -frandom -b32 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o2 -frandom -b32 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o4 -frandom -b32 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o8 -frandom -b32 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o16 -frandom -b32 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o32 -frandom -b32 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o64 -frandom -b32 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o128 -frandom -b32 -BH -LS
C:\TestFile.dat

sqlio -kW -t2 -s60 -o1 -frandom -b64 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o2 -frandom -b64 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o4 -frandom -b64 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o8 -frandom -b64 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o16 -frandom -b64 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o32 -frandom -b64 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o64 -frandom -b64 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o128 -frandom -b64 -BH -LS
C:\TestFile.dat

Que se llame: frandon-w.bat

Y ahora otro que lleve esto:

sqlio -kW -t2 -s60 -o1 -fsequential -b8 -BH -LS C:\TestFile.dat
sqlio -kW -t2 -s60 -o2 -fsequential -b8 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o4 -fsequential -b8 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o8 -fsequential -b8 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o16 -fsequential -b8 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o32 -fsequential -b8 -BH -LS 
C:\TestFile.dat
sqlio -kW -t2 -s60 -o64 -fsequential -b8 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o128 -fsequential -b8 -BH -LS
C:\TestFile.dat

sqlio -kW -t2 -s60 -o1 -fsequential -b16 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o2 -fsequential -b16 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o4 -fsequential -b16 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o8 -fsequential -b16 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o16 -fsequential -b16 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o32 -fsequential -b16 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o64 -fsequential -b16 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o128 -fsequential -b16 -BH -LS
C:\TestFile.dat

sqlio -kW -t2 -s60  -o1 -fsequential -b32 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60  -o2 -fsequential -b32 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60  -o4 -fsequential -b32 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60  -o8 -fsequential -b32 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60  -o16 -fsequential -b32 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o32 -fsequential -b32 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60  -o64 -fsequential -b32 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60  -o128 -fsequential -b32 -BH -LS
C:\TestFile.dat

sqlio -kW -t2 -s60 -o1 -fsequential -b64 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60 -o2 -fsequential -b64 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60  -o4 -fsequential -b64 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60  -o8 -fsequential -b64 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60  -o16 -fsequential -b64 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60  -o32 -fsequential -b64 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60  -o64 -fsequential -b64 -BH -LS
C:\TestFile.dat
sqlio -kW -t2 -s60  -o128 -fsequential -b64 -BH -LS
C:\TestFile.dat

Este que se llame: fseq-w.bat

k=Probar lectura(R)/Escritura(W).
t=Hilos.
o=Peticiones al mismo tiempo.
s= Tiempo de prueba.
b=Tamano de los paquetes deseados multiplos de 2.
f= tipo de accesos secuencial(sequential) o aleatorio(random)

Ya en un servidor debemos jugar con mas valores, ustedes empiecen a crear sus pruebas, como mas hilos (t4,t8)

Le ventaja de este batch es que podemos sacar los resultados a un archivo de texto cuando se ejecute y vamos a hacerlo asi:

trandon-w.bat > trandom.txt

Y el resultado lo podemos analizar con detalle ya que termine.

Figura 3. Resultados de SQLIO.
 Como podran ver los datos mas importantes son:

IOS= Entradas/Saludos x segundo.
MB/s = Megabytes x  Segundo.

Revisen su archivo y vean donde esos datos son altos de sus sistema de archivos, en mi caso es bajo por que es mi maquina de oficina y aqui tengo Ubuntu GUI, virtualbox, etx ejecutandose.

Pero en otra equipo tengo valores mas altos, ejecuten las demas pruebas  tendran un panorama de como anda su sistema de archivos, empezar a buscar donde ajustar, mas memoria, otro disco, mas cores, ajustar Windows 2008, en fin esto es solo para checar el pulso del sistema de archivos, voy a seguir agregando mas herramientas y luego ver como darle ajustes a el servidor, saludos!!!

No hay comentarios: