Re: Sobre Desempeño
Javier Garay
javierzgaray en gmail.com
Jue Feb 21 11:21:07 CLST 2013
Cordialmente,
Javier Garay G.
El 21 de febrero de 2013 03:10, Ramirez Aranda, Marcos, Proyecto APS <
mramireza en armada.cl> escribió:
>
> El 20 de febrero de 2013 a las 17:27 Javier Garay <javierzgaray en gmail.com>
> escribió:
> > Tengo la siguiente pregunta, pero no antes sin argumentar.
> >
> > Tenemos una base de datos en la empresa que pesa 120 GB. Corre sobre un
> > servidor windows 2003 con SQL Server 2005 y en ocasiones es casi
> imposible
> > trabajar, sobre todo en días específicos cuando se realizan miles de
> > consultas por hora.
>
> Antes de pensar en cambiar algo (hw o sw) debes averiguar por qué tu BD no
> tiene
> el desempeño que esperas/necesitas y que alternativas de solución tienes.
>
> Algunas posibles causas de lentitud en la BD:
>
> - Consultas mal hechas / poco optimas. Es típico de los programadores no
> considerar refinar sus consultas creyendo que la BD es responsable de
> optimizar
> cualquier cosa.
> - Te faltan índices estratégicos y/o diseñados para las consultas que
> pueden ser
> muy pesadas/consumir mucha cpu y/o disco. Me ha tocado ver casos en que un
> simple indice (dos campos) significa bajar el uso de la cpu del 40% al 4%.
> - Tienes tu BD virtualizada. Se puede, pero no por eso deja de ser un
> error (a
> veces muy grave)
> - Te falta RAM o tu BD no está usando toda la ram posible.
>
> El sistema esta virtualizado sobre un HW que ya no tiene más recursos y no
se le puede poner más. No es problema del sistema, ya que el uso y el
tamaño de la base de datos del mismo a crecido mucho y ya la plataforma ya
no soporta la carga. Así de simple.
> Si tienes algún sistema de monitoreo en la maquina (nagios, zenoss o
> similar)
> seria útil tener una estadística de uso de cpu/disco/ram. SQL Server
> también
> tiene herramientas de diagnóstico que te permiten determinar si te faltan
> indices y/o que consultas son las mas pesadas en caso que puedas
> reescribirlas
> y/o modificar tu(s) aplicación(es).
>
> Venimos realizando evaluaciones y análisis del problema desde hace
meses... Modificar la aplicación que es de un proveedor externo es lo que
menos queremos hacer, ya que por un lado no vale la pena, porque la vamos a
cambiar por una más nueva y mejor (proyecto futuro) y por otro lado el
costo de eso sería descabellado... Sería como remodelar o cambiar la
estructura de un edificio ya construido.
> > Estamos evaluando la posibilidad de migrar todo a una plataforma con un
> hw
> > mucho más nuevo y con mayor poder de proceso[...]
>
> Mejor HW nunca está de mas, pero antes de cambiar, asegurate que tienes
> medidas
> y medios que te permitan comparar desempeño antes y después, al menos para
> poder
> comparar que tanta mejora puedes conseguir.
>
> Todo eso esta contemplado en el proyecto a través de QA's de red, hw,
sistemas, etc.
> > La pregunta es: ¿Valdrá la pena migrar todo una plataforma linux
> asumiendo
> > que es un proyecto mucho más costoso y complejo tecnologicamente
> hablando,
> > buscando obtener un mejor desempeño/estabilidad en desmedro de la opción
> > más simple (windows), sin olvidad que el hw será mejorado
> > significativamente?
>
> En lo personal, evito a toda costa tener soluciones M$ (pareciera mas
> simple a
> primera vista, pero las complicaciones son mucho peores). Por otro lado,
> mejor
> HW no necesariamente significa mejor rendimiento. Todo va a depender de las
> condiciones que hacen que tu BD actual tenga problemas y lo mas seguro es
> que el
> impacto de cambiar el hw no compense otros problemas que te pudieran estar
> afectando.
>
> El problema no es la base de datos, insisto. Es un tema de desempeño por
la realidad actual...
> Mi recomendación: averigua primero por qué tu BD tiene mal rendimiento y
> luego
> evalúa si vale la pena el cambio de hw. El cambio de plataforma (sobretodo
> si es
> a Linux+postgresql / oracle) deberías considerarlo una vez que tengas
> resuelto
> tu problema actual y sólo si representa una ventaja, no sea que cambies un
> servidor MSSQL lento por un servidor Oracle/PostgreSQL lento...
>
>
Ya lo hicimos, el proyecto partio desde ahí... Ahora estamos evaluando el
sw que vamos a utilizar y todo esto esta contemplado como parte del
proyecto.
> Saludos
> --
> DOCUMENTO PUBLICO
>
> Gracias!
Más información sobre la lista de distribución Linux