Cuando la Base de Datos crece mucho y los registros en las tablas se cuentan por millones se hace cada vez más notorio que las operaciones (INSERT, UPDATE, DELETE, FETCH, SELECT) se realizan cada vez más lentamente. En esos momentos los usuarios nos comentan que todo está lento y que requieren de mayor velocidad.

¿Cómo lo solucionamos?

Esto tiene dos aristas: hardware y software.

En este artículo nos referiremos al software y en especial a una parte del software: el Sistema Operativo.

Para conseguir velocidad el sistema operativo debe estar diseñado para trabajar como Servidor, no como Desktop. Esto implica que los usuarios no estarán ejecutando programas en la misma computadora que actúa como Servidor. O sea, si una computadora actúa como Servidor los usuarios no estarán ejecutando su programa de contabilidad, ni se conectarán a Internet, ni mirarán las fotos de sus vacaciones, no.

Cuando un Sistema Operativo es Desktop (como ejemplo: Windows XP, Windows 7, Windows 8, etc.) las aplicaciones que se ejecutan en el foreground tienen preferencia sobre las aplicaciones que se ejecutan en el background (o sea, los servicios). Eso significa que revisar el Facebook es mucho más importante que devolver una consulta a la tabla de VENTAS.

Además, Microsoft en los sistemas operativos desktop les coloca limitadores artificales a los sockets. ¿Por qué hace eso? para evitar que la gente utilice como Servidor a un sistema operativo desktop. ¿Y por qué no quiere que se use un sistema operativo desktop como Servidor? Porque el Servidor es mucho más caro, Windows Server 2012 DataCenter cuesta 4.809 dólares, en cambio actualizarse a Windows 8 Pro cuesta 200 dólares, una gran diferencia, Microsoft dejaría de ganar nada menos que 4.609 dólares por cada Servidor si el desempeño fuera el mismo o muy similar, si ambas opciones fueran equivalentes la gente elegiría la opción más barata.

Si tu Sistema Operativo es Linux ocurre la misma cosa, las versiones Server están diseñadas para ser utilizadas como servidores, están especializadas en eso, en cambio las versiones Desktop están diseñadas para que los usuarios ejecuten sus aplicaciones diarias en ellas. En Linux puedes usar Ubuntu Server o cualquier otra distro que te guste, pero siempre debe ser la versión “Server”.

Conclusión:

Si requieres más velocidad tener el Sistema Operativo correcto te ayudará con esa tarea, nunca uses una versión Desktop porque no están diseñadas para tener un buen desempeño como servidores, están diseñadas para que los usuarios ejecuten sus aplicaciones diarias pero eso es completamente otra cosa. Si el dinero es un problema (porque los servidores Windows son caros) entonces tienes la opción de usar un Servidor basado en Linux.

Artículo relacionado:

El índice del blog Firebird21

Anuncios