为什么WicketDebugBar中的SessionSize与磁盘上序列化的页面映射不同?

时间:2011-08-06 13:11:32

标签: wicket

我激活了wicket DebugBar以跟踪我的会话大小。当我在网站上导航时,指示的会话大小稳定在大约25k。

Wicket Debug Bar

同时,对于每个页面视图,在磁盘上序列化的页面映射从大约25k不断增长。

enter image description here

这意味着什么?根据我的理解,磁盘上的页面映射会保留所有页面。但为什么会议总是保持在25k左右。

对大型网站有何影响?如果我有1000个并行Web会话,Web服务器将需要25Mo来保存它们而磁盘250Mo(10页* 25k * 1000)?

我会进行一些负载测试来检查。

2 个答案:

答案 0 :(得分:4)

调试栏值告诉您内存中会话的大小。当您浏览到另一个页面时,旧页面将序列化到会话存储中。除其他外,这提供了后退按钮支持,而不会中断内存占用。

因此,回答第一个问题,磁盘上的大小会增加,因为它会保留历史数据,而会话保持不变,因为它保存了活动数据。

要回答你的第二个问题,我已经看了一段时间,但我认为磁盘会话存储的上限为10MB左右。此外,您可以更改会话存储的行为以满足您的需求,但这是一个完全不同的讨论。

答案 1 :(得分:0)

请参阅此Wiki页面,其中介绍了Wicket 1.5中的存储机制。它与1.4略有不同,但1.4

没有这样的文件

更新:Wiki页面已移至指南:https://ci.apache.org/projects/wicket/guide/7.x/guide/internals.html#pagestoring