Durante muchos años he observado perplejo como determinadas empresas informáticas instalan máquinas, tanto del lado del servidor como de los usuarios, sobredimensionadas para las necesidades del cliente. El sizing de la infraestructura es muy elevado para suplir las carencias de velocidad del sistema.
Pero lo peor no es que las ofrezca el proveedor, sino que el propio cliente acepte esas inversiones totalmente desproporcionadas para el uso al que va aplicar. Es evidente que no voy a defender una infraestructura pobre que se quede pequeña en cuanto se le exija un poco al sistema de gestión, pero tampoco aquellas que estén en su mayor tiempo infrautilizadas.
Es muy importante también balancear los elementos principales del hardware, pues en ocasiones se atiende excesivamente a determinadas características más propias de sistemas para CAD/CAM que para ofrecer un elevado rendimiento en la gestión.
No hay un elemento único que pueda considerarse más importante que otro, pues un servidor mal dimensionado en cualesquiera de sus componentes puede producir un efecto de cuello de botella. Así, es tan importante el microprocesador, como la memoria RAM, como el disco duro, como la tarjeta de red, siendo otros elementos ajenos al propio servidor también partícipes en el equilibrio para una determinada instalación (red, clientes, etc).
Desde mi punto de vista práctico, y trabajando con bases de datos relacionales, algunos de los parámetros más importantes siempre han estado relacionados con la propia tecnología del disco duro (recordemos las distintas tecnologías SCSI, IDE, SATA, …). En concreto estoy pensando en las revoluciones por minuto (rpm) y en las tasas de transferencia. Por este orden, daría prioridad, en este orden:
- Disco, con un número alto de rpm (o mejor, sustituir por dispositivos de estado sólido) y altas tasas de transferencia.
- Memoria RAM (la RAM es importante, pero no suele aprovecharse al máximo, por lo que a veces da igual disponer de 16 que 32 Gb por ejemplo).
- Tarjeta de red.
- Microprocesador.
Aun así, si se producen problemas de rendimiento (performance), habrá que analizar de donde proviene esos problemas:
- Del propio cliente: comprobar características de éste si son las mínimas recomendadas para la solución, así ocupación de memoria, disco, CPU, …)
- De la red: monitorización con aplicaciones específicas para ello
- Del propio servidor: disco, porcentaje de CPU ocupada, limitación de memoria, …
- De la propia base de datos: monitorización de las instrucciones en ejecución que penalizan el rendimiento, procedimientos fantasma, jobs y otras tareas, falta de índices o primary keys no optimizadas, etc. En resumen, proceder a tunear la base de datos y optimizarla.
Finalmente, si se ha de optar por sobredimensionar una instalación con el sobrecoste que conlleva para disponer de una aplicación rápida frente a una instalación más modesta con el fin de ahorrar costes con la consiguiente disminución del rendimiento de la aplicación, siempre será preferible la elección de un sistema algo sobredimensionado en características, pero siempre que éstas sean acordes al precio.
Conozco un caso en una empresa fabril donde entramos a instalarles un ERP con 4-5 usuarios (y poco crítico en cuanto a número de transacciones). Pues bien, su sistema anterior constaba de un servidor que les había costado unos 40.000 €. Su proveedor les había exigido realizar la instalación en una sala especial refrigerada, aislada, etc, etc. Y aun así, una de las cosas por las que cambiaban de sistema era por la lentitud. Así que hay que llevar cuidado con «excederse» en el sizing, que no siempre suele ir acompañado de precio en la misma proporción.
(En el Master en Software Libre de Gestión: Open Source & ERP II, estamos analizando situaciones como la que aquí acabamos de mostrar).
Autor: Sergio Martínez
Recibe nuevos artículos mediante suscripción por e-mail, RSS o Feedly |
|