Objeto Memcached muito grande

1

Na minha configuração memcahced eu tenho

 PORT="11211"                                                                                                                                                                                                                              
 USER="memcached"                                                                                                                                                                                                                          
 MAXCONN="1024"                                                                                                                                                                                                                            
 MAXITEMSIZE=5M                                                                                                                                                                                                                            
 CACHESIZE="12288"                                                                                                                                                                                                                         
 LOGFILE="/var/log/memcached.log"                                                                                                                                                                                                          
 OPTIONS="-vv >> /var/log/memcached 2>&1" 

Isso também é o que eu vejo quando executo um stats

STAT limit_maxbytes 67108864

Mas quando tento escrever um item grande

set test 0 60 5000000 asdas
SERVER_ERROR object too large for cache
    
por giuseppe 23.11.2016 / 18:43

1 resposta

2

Bem, o problema é como você estrela o memcached. Se você começar com o ssytem baseado em init.d (como o Centos6) você tem que verificar se o script /etc/initd./memcached inicia o daemon com a opção -I. No meu caso, as opções -I não foram definidas no script de inicialização. Então:

start () {
...
 daemon --pidfile ${pidfile} memcached -d -p $PORT -u $USER  -m $CACHESIZE -c -I $MAXITEMSIZE $MAXCONN -P ${pidfile} $OPTIONS

Da mesma forma, se o seu sistema é baseado em systemd, como o Centos7

[Service]                                                                                                                                                                                                                                 
Type=simple                                                                                                                                                                                                                               
EnvironmentFile=-/etc/sysconfig/memcached                                                                                                                                                                                                 
ExecStart=/usr/bin/memcached -u $USER -p $PORT -I $MAXITEMSIZE -m  $CACHESIZE -c $MAXCONN $OPTIONS   
    
por 23.11.2016 / 19:27

Tags