> *事件背景:
当Redis有问题时按预案就会切换到本机memcache,但是我们首页 key:value现 在是1.5M同时memcache item限制是1M,导致首页写入memcache失败,这样每次请求首页都会重新build首页,高峰时会导致机器cpu降到0,影响 线上服务。
>
> *解决方案:*
从官网下载线上版本的源码,修改memechache源码对item大小的限制参数从1M调整为2M,重新编译memcache。
>
> *具体修改点:*
1)修改源代码memcached.c第218行调整item大小限制
> 源代码:settings.item_size_max = 1024 * 1024; /* The famous 1MB
> upper limit.*/
> 修改后:settings.item_size_max = 2024 * 1024; /* The famous 1MB
>
> 2)修改memcache启动总内存大小使用,修改memcached/conf
> /memcached_control.conf的启动参数第75行
> 原代码:_start_cmd_arg="-m10240 -p11211 -c10240"
> 修改后:_start_cmd_arg="-m20240 -p11211 -c10240"
>
> 3)memcache模块下载地址:wget
> *******************************************************************************
> 文件md5: 110303c149927060f9dabeffa1441fcd memcached.tar.gz
>
> *主要测试点:*
> 1)测试大于1M数据是否能正常读写;
> 2)测试参数修改前后memcache性能变化;
>
>
> *上线方案:*
> 1)所有机器部署新memcache为memcache.new
> 2)停memcache服务,mv memcache memcache.old && mv memcache.new
> memcache ,启动服务
> *回归方案:*
> 1)停memcache服务,mv memcache memcache.err && mv memcache.old
> memcache ,启动服务