Iniciando mais de uma instância de memcached no mesmo servidor

Publicado por Filippe em 09/08/2013

[ Hits: 5.122 ]

 


Iniciando mais de uma instância de memcached no mesmo servidor



No dias de hoje, com a otimização de recursos e redução de gastos que a área de TI exige, sempre pensamos em como reduzir ao máximo, recursos físicos de Hardware e aproveitar ao máximo, sem gastos excessivos.

O memcached é um sistema distribuído de objetos em memória de alta performance, e o melhor de tudo, Open Source, que nos permite ter uma performance muito maior que o normal em uma aplicação, seja ela WEB ou não.

O memcached não exige muitos recursos de um servidor, mas, olhando por outro lado, dependendo da carga que este servidor de memcached irá ter, podem sobrar recursos de CPU, memória, etc, e o servidor fica ocioso a maior parte do tempo, isto, de certa forma, é um desperdício.

Para evitar coisas como essa, existe uma forma bem fácil de executar mais de uma instância de memcached no mesmo servidor, compartilhando os mesmos recursos através da criação de dois ou mais processos independentes, que não interferem em nada o funcionamento um do outro.

Procedimentos

Ambiente: Red Hat 6.4 64 bits.

Primeiramente, instale o memcached:

sudo yum install -y memcached

Após a instalação do memcached, basta substituir o script de inicialização do daemon, em "/etc/init.d/memcached", pelo script abaixo:

#!/bin/bash
# Init file for memcached
# Written by Dag Wieërs <dag@wieers.com>
# chkconfig: - 80 12
# description: Distributed memory caching daemon
# processname: memcached
# config: /etc/sysconfig/memcached
# config: /etc/memcached.conf


source /etc/rc.d/init.d/functions

### Default variables
PORT1="11211"
PORT2="11212"
USER="memcached"
MAXCONN="1024"
CACHESIZE="512"
OPTIONS=""
SYSCONFIG="/etc/sysconfig/memcached"

### Read configuration
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"

RETVAL=0
prog="memcached"
desc="Distributed memory caching"

start() {
echo -n $"Starting $desc ($prog): "
daemon $prog -d -p $PORT1 -u $USER -c $MAXCONN -m $CACHESIZE -P /var/run/memcached/memcached1.pid $OPTIONS
daemon $prog -d -p $PORT2 -u $USER -c $MAXCONN -m $CACHESIZE -P /var/run/memcached/memcached2.pid $OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
return $RETVAL
}

stop() {
echo -n $"Shutting down $desc ($prog): "
killproc $prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
return $RETVAL
}

restart() {
stop
start
}

reload() {
echo -n $"Reloading $desc ($prog): "
killproc $prog -HUP
RETVAL=$?
echo
return $RETVAL
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
condrestart)
[ -e /var/lock/subsys/$prog ] && restart
RETVAL=$?
;;
reload)
reload
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
RETVAL=1
esac

exit $RETVAL

Para configurá-lo da maneira que desejar, basta alterar o arquivo de configuração ou estas variáveis no script:

PORT1="11211"
PORT2="11212"
USER="memcached"
MAXCONN="1024"
CACHESIZE="512"
OPTIONS=""

Abraços e até a próxima. :)

Outras dicas deste autor

Adicionar repositório RPM FORGE no CentOS

Leitura de cartão SD no Fedora 18/19

Java Fedora 18/19: trusted.certs (No such file or directory)

Cuidado com o "sl"

VirtualBox Fedora 18/19: "WARNING: The vboxdrv kernel module is not loaded" [Resolvido]

Leitura recomendada

Instalando Slamd64 e talvez até o Slackware 11 em HD sata

Coloque OpenDNS no Ubuntu

Feriados no korganizer

Como habilitar sombras no MATE Desktop 1.6

Como abrir pastas como usuário root na Solus

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts