sábado, 13 de septiembre de 2014

Probar la performance de nuestro storage mediante SQLIO y powershell

La idea ejecutar un par de pruebas de stress sobre nuestro storage para evaluar la performance del mismo. En Sharepoint el cuello de botella suele ser nuestro SQL Server, mediante este script podremos probar si nuestro storage soporta la carga de IOPS requerida para que Sharepoint funcione correctamente.

Current enviroment:

  • Azure IaaS A6, Datacenter Sur de Brasil
  • Disco C (perpetuo, no se ve afectado por reinicios de la VM)
  • Disco D (temporario, Azure mantiene una partición D para workload temporario, ej: logs de Base de datos)

Primero descargamos el siguiente script y sqlio

http://gallery.technet.microsoft.com/scriptcenter/Storage-IO-Performance-d628bad9

http://www.microsoft.com/en-us/download/details.aspx?id=20163

Lo dejamos en una carpeta temporal del C, ej. C:\Temp

Editamos el archivo de powershel

image

Y cambiamos los parámetros.

image

Algunas cosas a tener en cuenta:

  • Trata de tener la cantidad de threads menor o igual a la cantidad de vCPU (threads <= vCPU). Yo por ejemplo tenía 8 cores, y le setee 1 a 4 threads.
  • SQL Server en general escribe sequencial, pero la idea es hacer un stress de nuestro storage, así que deja los dos.
  • El tamaño de los bloques de I/O dependerá de si se usa Eager Writes o Lazy Writer, pero has una prueba con los tres valores (8,64 y 256 KB).

Una vez que se ejecuta nos mostrará un archivo html con toda la información (IOPS, latencia, etc)

image

image

Estos datos podemos pasarlo a un excel y ver una comparativa de performance de nuestro storage.

Ej: promedio de IOPS y latencia de todas las combinaciones

image

image

En general Sharepoint requiere que tengamos tiempos de latencia promedio de :

Datafiles: <= 15ms

Logs: <= 5 ms

Obviamente depende del tipo de base que manejemos y del tamaño. Ej: las bases de search son las bases que más IOPS requieren, o bases de datos relacionadas a record center podriamos tener una latencia entre 20ms a 10 ms.

image

Les dejo un link a post que realicé hace un tiempo sobre las mejores prácticas de SQL Server para Sharepoint.

http://todosharepoint.blogspot.com.ar/2014/03/mejores-practicas-sql-server-para.html

Les dejo el link para descargar todos los archivos:

http://1drv.ms/1qMe0fa

 

Algunos links interesantes para entender estos resultados:

http://www.brentozar.com/archive/2008/09/finding-your-san-bottlenecks-with-sqlio/

http://blogs.technet.com/b/josebda/archive/2013/03/28/sqlio-powershell-and-storage-performance-measuring-iops-throughput-and-latency-for-both-local-disks-and-smb-file-shares.aspx

http://blogs.msdn.com/b/sqlmeditation/archive/2013/04/04/choosing-what-sqlio-tests-to-run-and-automating-sqlio-testing-somewhat.aspx

http://blogs.technet.com/b/sqlpfeil/archive/2012/12/04/working-with-sqlio-and-analyzing-it-s-output.aspx

http://technet.microsoft.com/en-us/library/cc966412.aspx

http://technet.microsoft.com/en-us/library/ff758657%28v=office.15%29.aspx

No hay comentarios:

Publicar un comentario