苍穹之Redis部署优化

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

苍穹之Redis部署优化

  • 背景

    苍穹私有云默认部署的环境一般使用三套redis,分别用于:redis.serversForCache(数据缓存,越大越好一般限制8G或16G)、redis.serversForSession(会话缓存,一般不超过4G)、algo.storage.redis.url(algo计算)。分开的目的是数据隔离部署,避免数据和algo占完内存而导致会话缓存无法申请内存,从而导致无法登录苍穹。


  • 部署优化项1:限制redis最大内存和设置淘汰策略

    默认部署的redis是没有设置最大内存的(淘汰策略为noeviction,即不淘汰),这就会导致redis会无限制的使用操作系统内存而不释放,如果不重启redis的话,最终会导致内存不足数据无法写入。限制最大内存并且设置淘汰策略(volatile-lru,即优先删除最近最少使用的key)后可以避免这个问题。

    设置方法:

        在线临时设置:

          登录redis: redis-cli -h 地址 -p 端口 -a 密码
          设置最大内存:config set maxmemory 8gb
          设置淘汰策略:config set maxmemory-policy volatile-lru

        永久设置(需重启服务): 

            配置文件加入如下内容:

          maxmemory  8gb
          maxmemory-policy volatile-lru


  • 部署优化项2:数据分离

    上面已经分离了会话缓存、数据缓存和algo计算,但还不够细致,比如表单缓存默认是和数据缓存共用,当数据缓存达到最大时触发淘汰策略会有概率将表单缓存给删除掉,导致业务人员在操作时提示“表单会话超时”错误。所以建议将表单缓存和会话缓存部署在一起,因为会话缓存使用量较少,基本上不会超过4G。部署配置如下:

    在集群管理中添加如下参数(无则新增):

redis.serversForCache.form-pagecache=redis模式:redis地址:redis端口/redis密码
redis.serversForCache.form-pagecache-bigobject=redis模式:redis地址:redis端口/redis密码

保存并发布(业务低峰期操作)即可

苍穹之Redis部署优化

背景 苍穹私有云默认部署的环境一般使用三套redis,分别用于:redis.serversForCache(数据缓存,越大越好一般限制8G或16G)、redis.s...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息