Facebook libera versão otimizada do Memcached

Standard

A equipe de engenharia do Facebook liberou para download a versão interna do Memcached.

O Memcached. é o sistema de cache de objetos em memória mais eficiente disponível atualmente. Foi desenvolvido pela Danga Interactive para o site LiveJounal com 20 milhões de pageviews por dia mas, não era suficiente para o Facebook

A idéia por trás do conceito de cache é manter uma versão em memória, pronta para ser executada, de alguma coisa que, em caso contrário, precisaria ser refeita sempre que fosse usada.

O Memcached é um cache genérico que funciona como um daemon e permite que clientes diversos possam usar o sistema de cache em um dado momento. O Memcached usa um sistema cache baseado em uma estrutura de alocação de memória conhecido como slab allocation, especialmente desenvolvido para evitar fragmentação de memória, similar a o usado no Kernel do Linux que, por sua vez deriva de um sistema desenvolvido para o Solaris.


 photo credit: gingerbydesign

O que a equipe do Facebook fez foi remover um buffer de conexão tcp e substituíndo-o por um pool de conexões, corrigir alguns problemas no sistema de gerência de interrupções de I/O e melhor a eficiência em máquinas multi-core. O relatório de engenharia do Facebook com as modificações no Memcached.

Mesmo que você não esteja gerenciando o Facebook, teste. O ganho de rendimento que eles estão anunciando compensa o esforço:  50,000 requisiões udp a mais por segundo.

Para Saber Mais: Facebook Memcached(inglês), Memcached(inglês), slab  allocation(inglês), Ibm-slab Allocation(inglês).