Memcached一段时间后停止工作

时间:2017-04-18 14:49:14

标签: java amazon-web-services memcached

我有以下设置:

  • Tomcat8
  • Spring 4.2.8
  • 在AWS上发布Memcached,版本1.4.34

在我的tomcat8 lib文件夹中,我有: memcached的会话管理器 - 2.1.1.jar memcached的会话管理器,tc8-2.1.1.jar AmazonElastiCacheClusterClient-NO-version.jar

开始时一切正常,所有节点都在使用会话等等。我看到所有会话更改,但经过一段时间后,让我们说1天或更多时间停止工作。当我说它停止工作时,我并不是说会议在它不工作之前,每个新会议都不会在那里工作。要么没有存储,要么没有读取,我不知道,因为我在应用程序和catalina.out日志中都没有看到任何日志。如果我重新启动tomcat8服务器,一切都会重新开始工作,所以我猜这可能是某些连接器或库在某些时候卡住的问题。

这个AmazonElastiCacheClusterClient-no-version.jar似乎有点老了,所以我试试看maven的1.1.1版,但是你看到它有点复杂到达任何结论,因为这发生了时间或某些特定条件。

是否有任何类似问题?

My Manager配置如下所示:

<Context path="/" debug="1" useHttpOnly="true">

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
    memcachedNodes="AWS_ENDPOINT:11211"
    sticky="false"
    sessionBackupAsync="true"
    lockingMode="none"
    requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
    transcoderFactoryClass="de.javakaffee.web.msm.JavaSerializationTranscoderFactory"
/>

1 个答案:

答案 0 :(得分:1)

问题在于超出了最大项目大小。我们使用了 1.2.6 版本,而这个版本不想处理大于 1024 KB 的对象。移至版本 1.4.5 后,问题消失了。新版本引入了 -I 命令行参数,允许将最大项目大小调整为 128 MB。