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

Publicado por Filippe em 09/08/2013

[ Hits: 4.106 ]

 


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

Host key verification failed [RESOLVIDO]

Teste de conectividade alternativo

Crash ao executar Eclipse no Fedora 19 x86_64 [Resolvido]

Introdução e configuração básica e rápida do iptables

Leitura recomendada

Assinando repositórios de terceiros sem sua GnuPG key

Ativando as placas wireless ralink no Ubuntu 10.04

Indicador de NumLock e CapsLock no painel do Linux Mint (Cinnamon)

Flash com som no Ubuntu, Kubuntu e etc-buntu

Apache + SSL

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts