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

Publicado por Filippe em 09/08/2013

[ Hits: 4.958 ]

 


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

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

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

Encriptando system properties passwords no Weblogic

Twittar via terminal no Linux

Crash ao executar Eclipse no Fedora 19 x86_64 [Resolvido]

Leitura recomendada

CentOS 7: configurando autologin

Arquivos de Configuração do Sabayon Linux - Atualizados em 2020

Alterando o som do Ubuntu 9.10

Instalando impressora Lexmark X1195 (usando o driver z600 por compatibilidade)

Como instalar Bunsenlabs Helium (Debian Stretch)

  

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