如何减少HttpSession的使用

时间:2014-05-01 14:17:05

标签: java session java-ee

在我的应用程序中,会话中有许多对象。因此,访问我的应用程序的每个用户HttpSession的大小都很高(它是一个员工信息管理系统)。我尝试在会话中减少对象,有时使用HttpRequest。然而,会话仍然会导致许多对象导致JVM内存使用率过高并导致服务器速度变慢。因此我需要减少会话大小。

任何解决方案?我应该添加另一台服务器并平衡负载或升级PC或JVM内存升级的RAM大小(如果我升级那么,将来会有更多用户使用系统时会发生什么,那么我是否还需要升级内存?)? 我想要的解决方案是将这些对象添加到缓存服务器中,该服务器在单独的服务器(单独的PC)中运行,而不是在会话中运行 请让我知道你的想法。

1 个答案:

答案 0 :(得分:0)

你应该添加另一台服务器吗? - 也许。你应该添加内存并为JVM提供更多内存吗? - 你可以。它会解决问题吗?如果问题出在设计中,那么它可能只达到某一点。我的第一次尝试是减少会话中的对象。如果那是不可能的,那么拥有该对象的平面模型,你就知道创建一个对象的精简版本,它只需要有意义的最小值。

如果您仍然认为所有这些都已完成并且未发现重大改进,那么正如Marc建议的那样,您可以尝试扩展或扩展,具体取决于您的需求和约束。或者,您可以使用 Memcached 或者再次使用Marc建议使用Redis或Mongo,如果您对持久会话没有问题,并且愿意采取一些性能影响。我说了一点,因为这些事情 非常快。