2

Zope2 会话文档:“冲突错误将由 Zope 自动重试,最终用户永远不会看到。”

然而,尽管我认为我拥有适合高流量部署的最佳设置(ZEO 上会话数据的临时存储,由四个客户端共享,具有相同设置的 zope 实例),最终用户仍然会收到数据库冲突错误。

搜索邮件列表,这似乎是 Zope 基于 OOBTree 实现会话数据的常见问题。有人建议使用 repoze.session,但自 2009 年以来就不受支持。

修复 BTree / TransientObject 冲突错误的任何其他方法?我是否必须更改 session_data 的默认设置(数据对象超时值、超时分辨率、最大子对象数)?

4

1 回答 1

4

我认为您最好的选择是通过Products.BeakerSessionDataManager将会话实现切换为使用 Beaker 。它是默认 Zope2 会话管理器的直接替代品,但在高负载下性能要好得多,而且肯定不会受到 ConflictErrors 的影响。

于 2012-04-17T13:43:43.533 回答