是否有一些简单,有效和准确的方法来测量基于servlet的应用程序中的会话大小?优选地,测量方法应该是应用服务器/容器独立的 我尝试在Tomcat 7上使用Lambda Probe测量会话大小,但在我看来这种安静不准确,缓慢和错误。我认为应该有一些简单明了的方法,因为几乎每个体面的Java EE开发人员都关心会话大小。
我想强调测试我的应用程序并测量会话膨胀。
答案 0 :(得分:0)
这是我们在应用程序本身中计算会话大小的方式:
totalSize = 0;
totalSerializable = 0;
totalNumber = 0;
HttpSession session = getSession();
Enumeration<String> attrs = session.getAttributeNames();
while (attrs.hasMoreElements()) {
String attr = attrs.nextElement();
SessionObject sObj = new SessionObject(attr, session.getAttribute(attr));
sessionAttributes.add(sObj);
if (sObj.isSerializable()) {
totalSize += sObj.getSize();
totalSerializable++;
}
totalNumber++;
}