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)
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
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 …..
Roberto Canales Mora