memcached之memcached的应用(二)
---------
memcached应用经验
通过daemontools启动
通常情况下memcached运行得相当稳定,但mixi现在使用的最新版1.2.5曾经发生过几次memcached进程死掉的情况。架构上保证了即使有几台memcached故障也不会影响服务,不过对于memcached进行死掉的服务器,只要重新启动memcached,就可以正常运行,所以采用了监视memcached进程并自动启动的方法。于是使用了daemontools。daemontools是qmail的作者DJB开发的UNIX服务管理工具集,其中名为supervise的程序可用于服务启动、停止的服务重启等。mixi使用了以下的run脚本来启动memcached。
监视
mixi使用了名为"nagios"的开源监视软件来监视memcached。
在nagios中可以简单地开发插件,可以详细地监视memcached的get,add等动作。不过mixi仅通过stats命令来确认memcached的运行状态。
---------
memcached应用经验
通过daemontools启动
通常情况下memcached运行得相当稳定,但mixi现在使用的最新版1.2.5曾经发生过几次memcached进程死掉的情况。架构上保证了即使有几台memcached故障也不会影响服务,不过对于memcached进行死掉的服务器,只要重新启动memcached,就可以正常运行,所以采用了监视memcached进程并自动启动的方法。于是使用了daemontools。daemontools是qmail的作者DJB开发的UNIX服务管理工具集,其中名为supervise的程序可用于服务启动、停止的服务重启等。mixi使用了以下的run脚本来启动memcached。
#!/bin/sh
if [-f /etc/sysconfig/memcached];then
. /etc/sysconfig/memcached
fi
exec 2>&1
exec /usr/bin/memcached -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN $OPTIONS
监视
mixi使用了名为"nagios"的开源监视软件来监视memcached。
在nagios中可以简单地开发插件,可以详细地监视memcached的get,add等动作。不过mixi仅通过stats命令来确认memcached的运行状态。
define command{
command_name check_memcached
command_line $USER1$/check_tcp -H $HOSTADDRESS$ -p
11211 -t 5 -E -s 'stats\r\nquit\r\n' -e 'uptime' -M crit
}
此外,mixi将stats目录的结果通过rrdtool转化成图形,进行性能监视,并将每天的内存使用量做成报表,通过邮件与开发者共享。