¿Merece la pena utilizar SSDs como memoria caché en un NAS?

¿Merece la pena utilizar SSDs como memoria caché en un NAS?

Rodrigo Alonso

Algunos modelos de NAS de alto rendimiento permiten utilizar SSDs como memoria caché del sistema con la promesa de aumentar el rendimiento. En este artículo te vamos a contar si hacer esto merece o no la pena, en qué escenarios, y cuánto rendimiento ganarás si decides hacerlo.

Desde la llegada de los SSDs al mercado, ha habido una especie de batalla entre HDD y SSD, evidentemente cada uno con sus pros y sus contras. Mientras que un disco duro mecánico se compone de un actuador, un brazo de lectura / escritura, un eje y platos en los que se almacenan los datos, un SSD no tiene partes móviles y utiliza memoria flash para almacenar los datos, consumiendo menos energía y sin producir ruido, vibraciones o calor.

Además, como sabéis los SSD entregan mejor rendimiento, especialmente cuando se trata de altas cargas de trabajo con muchas peticiones de lectura y escritura ya que para buscar cada dato, en un disco mecánico los platos deben girar y los cabezales buscar los datos dispersos en el disco de manera no contigua. En un SSD eso no se produce, se accede a todos los datos por igual y, con ello, se reduce muchísimo la latencia (el tiempo que se tarda en acceder al dato que se busca).

Y es justamente la latencia lo que tiene que ver con el uso de SSDs como memoria caché de un NAS.

¿En qué consiste usar SSDs como memoria caché de un NAS?

Se entiende como caché de SSDs a un espacio de almacenamiento temporal de los datos a los que se accede con frecuencia, también conocidos como «datos activos», en chips de memoria flash de un SSD. Al reservar cierta porción de almacenamiento como caché donde se almacenan los datos activos, el sistema se beneficia de la baja latencia de los SSDs, pudiendo así responder a las solicitudes de lectura y escritura de una manera muchísimo más rápida.

SSD NAS Synology

Al ejecutar aplicaciones que requieren IOPS aleatorios más altos o cuando se escriben grandes cantidades de datos en bloques no contiguos (como por ejemplo en una base de datos que ocupa varios Gigabytes), la construcción de un sistema únicamente con SSDs podría provocar un agujero en el bolsillo de cualquiera. Afortunadamente, como decíamos algunos NAS de alto rendimiento tienen la opción de crear una caché de SSDs que sirve para crear un búfer de lectura y escritura, mejorando así el rendimiento de acceso aleatorio a cualquier dato del NAS.

La caché de SSDs en un NAS puede configurarse de dos maneras:

  • Caché de solo lectura: cuando se configura la caché de esta manera, solo los datos a los que se accede con frecuencia se almacenan en ella, acelerando mucho las velocidades de lectura aleatorias. Dado que aquí no se involucra la escritura de datos, estos datos permanecerán ahí incluso aunque se estropee el SSD.
  • Caché de lectura y escritura: en comparación con la de solo lectura, este método escribe datos sincrónicamente en el SSD. Para garantizar la seguridad de éstos, se necesitan al menos dos unidades en RAID 1 para permitir tolerancia a fallos, pero aun así existe riesgo de pérdida de datos si uno de los SSD se estropea.

Caché de SSDs

¿Cuánto mejora el rendimiento? ¿Merece la pena hacerlo?

Desde ya os decimos que, dado que las grandes operaciones de lectura y escritura secuenciales no se benefician mucho de tener almacenamiento como memoria caché, si usas el NAS principalmente como servidor multimedia no notarás ninguna diferencia. Es cuando se utilizan operaciones de lectura y escritura aleatorias (o no secuenciales) cuando el tener una caché de SSDs marca la diferencia, y la mejora de rendimiento puede ser de hasta un 50% menos en cuanto a la latencia.

En otras palabras, vas a beneficiarte de utilizar este sistema si usas el NAS como servidor de base de datos, servidor web, o en general casi cualquier tipo de servidor de archivos y especialmente cuando estos archivos son o muy pequeños, o bien muy grandes (como una base de datos, que es el ejemplo que pusimos antes). Si lo usas para almacenar y ver tus películas, dado que esos datos se escriben y leen de manera secuencial, el tener caché de SSDs no supondrá ningún cambio.

Además debes de tener en cuenta una cosa más, y es que cuanto más grande sea la caché de SSDs, más cantidad de memoria RAM del NAS necesitará el sistema para poder trabajar con ella. Según los datos que proporciona Synology con respecto a este sistema, se necesitan aproximadamente 416 KB de memoria de sistema por cada GB de caché SSD. No es mucho, pero si pusieras dos SSDs de 256 GB en RAID1 para una caché de lectura y escritura, eso ya te estaría consumiendo unos 213 MB de RAM, y si tu NAS solo tiene 512 MB de RAM, pues imagina la porción de memoria que te estará consumiendo mantener activo este sistema.

En resumen: si tienes un NAS muy moderno y con mucha RAM, y si lo utilizas como servidor de base de datos u otras aplicaciones complejas, sí puedes notar una mejoría de rendimiento de hasta el 50% en latencias. Si tienes un NAS doméstico para guardar tus copias de seguridad y/o como servidor multimedia, entonces no te merece la pena porque no notarás la diferencia de rendimiento.