No dia 8 de março, ocorreu a atualização do sistema de cache de dados na memória operacional Memcached até a versão 1.6.0. A principal diferença em relação às versões anteriores é que agora é possível usar um dispositivo externo para o armazenamento de dados em cache.
Memcached é utilizado para acelerar o funcionamento de sites ou aplicações web de alta carga, através do cache de acesso a SGBDs e dados intermediários.
Na nova versão, durante a compilação, o parâmetro extstore, que é responsável pelo uso do dispositivo externo, está habilitado por padrão. Para desabilitar essa funcionalidade, deve-se especificar o parâmetro —disable-extstore em .\/configure. No entanto, apesar de estar habilitado por padrão, ao iniciar, deve-se indicar explicitamente o uso dessa função.
Extstore permite o uso de dispositivos externos Flash ou SSD para aumentar o tamanho do cache. Isso permitirá cachear volumes de dados muito maiores do que sem essa funcionalidade.
Outra importante novidade foi a reformulação da interação de rede, que agora está adaptada para o processamento automático de chamadas em lote em um único chamado de sistema. Nas versões anteriores, o processamento de cada requisição GET era transmitido em pacotes separados, enquanto na nova versão as respostas a várias requisições são agrupadas em um metapacote e enviadas de uma só vez. Como resultado dessa inovação, a carga na CPU foi reduzida em 25%.
Além disso, como resultado dessa modernização, o consumo de memória para bufferização foi reduzido — de 4,5 KB para 400-500 bytes por chamada, e o uso das funções malloc, realloc e free foi diminuído, levando a uma menor fragmentação de memória. Cada thread agora processa seu próprio pool de buffers para leitura e escrita para conexões ativas. Para configurar o tamanho desses buffers, estão disponíveis as opções -o resp_obj_mem_limit=N e -o read_buf_mem_limt=N.
Foi também anunciado o descontinuamento do protocolo binário de comunicação com o servidor. Em seu lugar, foi introduzido o protocolo meta — uma versão textual do protocolo com comandos meta compactos. No novo protocolo, estão contempladas todas as operações anteriormente disponíveis que utilizavam as versões anteriores do protocolo binário.
>>> Site oficial
>>> Código fonte (licença BSD)
>>> Descrição dos comandos meta
Fonte: linux.org.ru

