lunes, 15 de diciembre de 2008

Monitorizacion SQL

Problema:

Queda ralentizado enormemente un servidor a distintas horas y durante distintos periodos.

Solucion:

Agregar contadores logeando la actividad del servidor.
Se localizo el problema en la cola de disco y en el % de utilizacion de uno de los discos.
Era el que almacenaba gran parte de las BBDD.
Con Filemon (sysinternals) localizamos que base de datos esta consumiendo el tiempo de disco.
Con el SQL Manager (Administracion / Actividad Actual / Informacion del proceso o Bloqueos) vemos que usuarios estan generando trafico o bloqueos sobre la base de datos.
Con el Analizador SQL monitorizamos las tramas filtrando un usuario sospechoso.
(Propiedades de la traza / Filtros / Login name como: Usuario).

Resultado:

Un usuario a traves de VPN desde el analizador de consultas estaba lanzando scripts que recorrian con updates toda la base de datos, consumiendo durante varias horas al dia una gran parte del % de utilizacion del disco.



Listado de contadores para monitorizar un SQL

Contador Valor/Uso
Memoria Memory: Pages/sec < 20
Memoria Memory: Availability Mb > 5 Mb
Memoria SQLServer: Memory Manager: Total Server Memory vs. SQLServer: Memory Manager: Target Server Memory Si Total = Target -> Bien
Si Total <> Falta RAM
Procesador Processor: % CPU Usage < 80 %
Procesador System: Processor queue length < 2 por CPU
Procesador System: Context Switches/sec Si es > 8000, probar Fibras
Procesador System: % Total Privileged Time Si es < 20 %, posible problema de disco
Disco PhysicalDisk: Avg. Disk Queue Length Avg./(#Discos del RAID) < 2
Disco PhysicalDisk: % Disk Time < 55%
Disco PhysicalDisk: Disk Read Time vs. PhysicalDisk: Disk Write Time Si Read >> Write -> Bajar Fill Factor
Si Read <<> Subir Fill Factor
Red Network Interface: Bytes Total/sec vs. Network Interface: Current Bandwidth Bytes / Bandwidth < 6
Red Network Segment: % Network Utilization Comprobación de uso de las distintas tarjetas de red
Red Server: Bytes Received/sec vs. Server: Bytes Transmitted/sec. Saber si el servidor está perjudicando el resto de la red
Red SQLServer: SQL Statistics: Batch Request/sec 3000 por tarjeta de 100 Mbs
SQL Server (General) SQLServer: Access Methods: Page split/sec Si es < 100, posible problema de disco
SQL Server (General) SQLServer: Buffer Manager: Cache Hit Ratio En OLTP > 99 %; en OLAP > 80 %, uso de caché
SQL Server (Memoria) SQLServer: Buffer Manager: Page Life Expectancy > 300
SQL Server (Memoria) SQLServer: Buffer Manager: Lazy Write/sec < 20
SQL Server (Memoria) SQLServer: Buffer Manager: Checkpoint Pages/sec No debe aparecer con frecuencia
SQL Server (Memoria) SQLServer: Buffer Manager: Procedure Cache Pages Debe permanecer constante
SQL Server (Memoria) SQLServer: Databases: Log Flushes/sec A menor valor, mayor rendimiento
SQL Server (Usuarios) SQLServer: General Statistics: User connections Identificar horas punta y horas valle de usuarios
SQL Server (Usuarios) SQLServer: Databases: Transaction/sec Saber qué base de datos es más usada
SQL Server (Usuarios) SQLServer: SQL Statistics: SQL Compilations/sec < 100 (si no, los planes de ejecución están consumiendo mucho)
SQL Server (Bloqueos) SQLServer: Access Methods: Full scans/sec Si es relevante, estudiar con profiler
SQL Server (Bloqueos) SQLServer: Locks: Number of Deadlocks Mínimo (estudiar con profiler)
SQL Server (Bloqueos) SQLServer: Locks: Avg. Wait Time (ms) Mínimo posible
SQL Server (Bloqueos) SQLServer: Latches: Average Latch Wait Time (ms), Latch Waits/sec y Total Latch Wait Time (ms) Establecer línea base y observar qué se está entorno a ella
SQL Server (Backup) SQLServer: Backup Device: Device Throughput Bytes/sec Rendimiento de backup, fuerte actividad en tempdb

Fuente: http://msdn.microsoft.com/es-es/library/bb972264.aspx

Errores uniendo nuevos servidores a una Array existente con Isa 2006

Agregando un nuevo miembro a la array: 0x8007203a

Suele ser un error de comunicacion LDAP, una buena prueba seria:

telnet servidorisa 2171

Cuando la instalacion esta creando la replica de la Array en ADAM: 0x80074e46

Error de comunicacion, comprobar:

telnet servidorisa 2173


Si teneis multiples puertas de enlace recordad configurar la ruta estatica con la puerta de enlace correspondiente para la red del nuevo ISA.

Es necesario agregar el nuevo isa al conjunto de equipos "Replicar servidores de configuracion de almacenamiento" desde Empresa \ Directiva de Empresa \ Herramientas \ Objetos de Red \ Conjunto de Equipos \ Replicar servidores de configuracion de almacenamiento

Tambien en la directiva de Firewall de la Array en concreto deberemos agregar el nuevo servidor al Conjunto de Equipos: "Servidores de Matrices".

lunes, 1 de diciembre de 2008

Ratios / velocidad de compresion

Fichero a comprimir: Iso de 125mb (CD2 del 2003 server)

Winrar 3.30 Compresion Best 1:43 89.8mb
Winzip 10.0 Metodo b2zip Compresion Best 0:47 92.3mb
Winzip 10.0 Metodo ppmd Compresion Best 2:16 91.9mb
7zip 4.57 Compresion: maxi 1:07 88.6mb
7zip 4.57 Compresion: ultra 0:49 90.00mb
Winzip 11.0 Metodo Mejor Compresion (autodetectar) 2:16 91.8mb

Esta ultima con el diccionario de 1mb para equiparar en tiempos a b2zip

Resultados: 7zip es que mas comprime de todos, si equiparamos las opciones para que tarde lo mismo que otro compresor, sigue comprimiendo mas.
Winzip de la 10 a la 11 no gana absolutamente nada, renovarse o morir señores..