Memcached 1.6.0: un sistema para almacenar datos en caché en RAM con la capacidad de guardarlos en medios externos


Memcached 1.6.0: un sistema para almacenar datos en caché en RAM con la capacidad de guardarlos en medios externos

El 8 de marzo se actualizó el sistema de almacenamiento en caché de datos en la RAM Memcached hasta versión 1.6.0. La principal diferencia con respecto a versiones anteriores es que ahora es posible utilizar un dispositivo externo para almacenar datos en caché.

Memcached se utiliza para acelerar el trabajo de sitios o aplicaciones web altamente cargados almacenando en caché el acceso al DBMS y los datos intermedios.

En la nueva versión, la opción está habilitada de forma predeterminada al construir extstore, que se encarga de utilizar medios externos. Para deshabilitar la función, especifique el parámetro --disable-extstore en ./configure. Sin embargo, aunque la compilación está habilitada de forma predeterminada, debes especificar explícitamente el uso de esta función al inicio.

tienda externa permite el uso de externos Flash o SSD unidad para aumentar el tamaño de la caché. Esto le permitirá almacenar en caché cantidades de datos mucho mayores que sin utilizar esta función.

Otra innovación importante fue la reelaboración de la interacción de la red, que ahora está adaptada para el procesamiento automático de solicitudes por lotes dentro de una única llamada al sistema. En versiones anteriores, el procesamiento de cada solicitud GET se transmitía en un paquete separado, mientras que en la nueva versión, las respuestas a múltiples solicitudes se recopilan en un metapaquete y se transmiten a la vez. Como resultado de esta innovación, la carga de la CPU se redujo en un 25%.

Además, como resultado de esta modernización, se redujo el consumo de memoria para el almacenamiento en búfer, de 4.5 KB a 400-500 bytes por llamada, y se redujo el uso de las funciones malloc, realloc y free, lo que condujo a una menor fragmentación de la memoria. Cada hilo ahora maneja su propio grupo de buffers de lectura y escritura para conexiones activas. Para ajustar el tamaño de estos buffers, se proporcionan las opciones -o resp_obj_mem_limit=N y -o read_buf_mem_limt=N.

También se anunció que el protocolo binario para el intercambio con el servidor se transferiría a la categoría "obsoleto". Fue reemplazado por el metaprotocolo, una versión de texto del protocolo con metacomandos compactos. El nuevo protocolo tiene en cuenta todas las operaciones disponibles anteriormente utilizando versiones anteriores del protocolo binario.

>>> Sitio web oficial


>>> Código fuente (Licencia BSD)


>>> Descripción de Extstore


>>> Descripción de metacomandos

Fuente: linux.org.ru

Añadir un comentario