【发布时间】:2011-12-07 13:55:17
【问题描述】:
是否有一些简单、有效和准确的方法来测量基于 servlet 的应用程序中的会话大小?测量方法最好独立于应用程序服务器/容器。
我尝试在 Tomcat 7 上使用 Lambda Probe 测量会话大小,但在我看来,它不准确、缓慢且有问题。我认为应该有一些简单直接的方法,因为几乎每个体面的 Java EE 开发人员都关心会话大小。
我想对我的应用程序进行压力测试并测量会话膨胀。
【问题讨论】:
是否有一些简单、有效和准确的方法来测量基于 servlet 的应用程序中的会话大小?测量方法最好独立于应用程序服务器/容器。
我尝试在 Tomcat 7 上使用 Lambda Probe 测量会话大小,但在我看来,它不准确、缓慢且有问题。我认为应该有一些简单直接的方法,因为几乎每个体面的 Java EE 开发人员都关心会话大小。
我想对我的应用程序进行压力测试并测量会话膨胀。
【问题讨论】:
这是我们在应用程序本身中计算会话大小的方式:
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++;
}
【讨论】: