Creación de un Disco RAM en Windows
Cuando imparto cursos relacionados con optimización y rendimiento y/o con
las buenas prácticas en el mundo Web, hay veces que los alumnos se quedan muy
sorprendidos por los recursos que enseño ….
Ya muchos hubieran pensado que con la llegada de
los servidores de aplicaciones, los middlewares y las arquitecturas SOA (que al
fin y al cabo, siendo un poco simplista, son tres vistas de una misma
solución) los antiguos conocimientos han quedado obsoletos …
Siento decir que no es así (los conocimientos aprendidos los últimos años son
más útiles que nunca) ya que no es suficiente que una aplicación este
bien desarrollada para que funcione medio bien. Es más, lo voy a plantear de
otro modo, las aplicaciones normalmente están de pena y cuando se entregan, en
la mayoría de las ocasiones hay que hacer milagros para que funcionen medio
bien…. 😉
Jamás debemos programar optimizando (en la mayoría de los casos). Cuando
terminemos la aplicación y pasemos a pruebas (si es que se hacen en condiciones)
deberemos analizar el rendimiento de la aplicación y tratar de optimizar los
elementos más críticos.
Hay ciertos trucos que pueden marcar la diferencia de que un sistema sea
rápido o lento. Uno de ellos, consiste en la utilización de los discos RAM.
La gracia está en utilizar una porción de la memoria como si fuera un disco
por lo que la velocidad de lectura y escritura puede ser como 30 veces más
rápida que a los discos reales.
Imaginar las posibilidades en equipos con suficiente memoria:
- Guardar el área de índices de una base de datos
- Los contadores usados en CRM operacional
- Datos temporales como pdfs generados al vuelo
- Ficheros accedidos por cientos de usuarios como páginas Web estáticas
- Áreas de almacenamiento de plantillas…..
En los entornos profesionales esta solución es muy común y transparente a los
equipos de desarrollo.
Vamos a ver como podemos poner en marcha un disco RAM en un equipo con
sistema operativo MS Windows
(2000 profesional)
Descarga de Software
El el Web de Microsoft podemos encontrar la referencia a un
driver de ejemplo (del Kit de Desarrollo de Drivers o DDK), que viene con código fuente que nos permite manejar un disco RAM.
Sobre este ejemplo podréis encontrar multitud de desarrollos
comerciales gratuitos, semi-gratuitos y de pago.
Descargamos el paquete y seguimos las instrucciones. En principio nos
interesan dos ficheros: ramdisk.sys y ramdisk.inf
Nos vamos al panel de control y pinchamos en añadir Hardware
Añadimos un dispositivo
Decimos que nuevo
Seleccionamos el hardware de una lista
Elegimos otro dispositivo
Lo elegimos de disco
Seleccionamos el fichero inf
Reconoce nuestro driver
Y nos aparece la ventana de confirmación
Y podemos ver nuestro disco creado
Desinstalación de una versión anterior
Si teníamos una versión preliminar debemos desinstalarla …
En la carpeta de Sistema pinchamos en gestión de dispositivos (Device Manager
… en ingles)
Eliminamos el dispositivo
También es conveniente borrar todas las claves del registro
La clave a buscar es: 78A1C341-4539-11d3-B88D-00C04FAD5171
Conclusiones
Los discos RAM son una buena solución (a combinar con muchas otras) para
mejorar el rendimiento en todo tipo de aplicaciones y sobre todo en el mundo
Web.
Este procedimiento proporciona una ventaja adicional, todos los datos
guardados en este directorio se pierden al apagar el equipo … ¿Se os ocurren usos de esta característica? Limpian de caches a tirar la
máquina, seguridad de la destrucción de datos después de una sesión de trabajo,
etc.
No hay que infravalorar la experiencia … no es la primera vez que me llevo
una sorpresa y alguien que no tiene ninguna experiencia en el mundo Web (aunque
si en otros entornos tradicionales), nos aporta una idea que conduce a
solucionar el problema …..