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

Publicado por Filippe em 09/08/2013

[ Hits: 4.979 ]

 


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

Recuperando senhas de datasources encriptados em JBoss

Twittar via terminal no Linux

Host key verification failed [RESOLVIDO]

Crash ao executar Eclipse no Fedora 19 x86_64 [Resolvido]

Encriptando system properties passwords no Weblogic

Leitura recomendada

Gerencie a bateria do seu notebook usando o powertop

LFS - Linux From Scratch - Obtendo os fontes direto do lfslivecd

Configurando o sudo no Debian

Linux Mint 16 para 17 - Atualização

Pequenos ajustes no Debian

  

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