如何准确有效地测量HttpSession大小

发布于 2024-12-10 03:51:00 字数 215 浏览 0 评论 0原文

是否有一些简单、有效且准确的方法来测量基于 servlet 的应用程序中的会话大小?优选地,测量方法应该独立于应用程序服务器/容器。
我尝试在 Tomcat 7 上使用 Lambda Probe 测量会话大小,但在我看来,它非常不准确、缓慢且存在错误。我认为应该有一些简单直接的方法,因为几乎每个优秀的 Java EE 开发人员都关心会话大小。

我想对我的应用程序进行压力测试并测量会话膨胀。

Is there some easy, effective and accurate way to measure session size in servlet based application? Preferably measuring method should be application server/container independent.
I tried measuring session size with Lambda Probe on Tomcat 7, but it seemed to me quiet inaccurate, slow and buggy. I think there should be some easy straightforward way, because almost every decent Java EE developer cares about session size.

I want to stress test my Application and measure session bloat.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

永不分离 2024-12-17 03:51:00

这是我们在应用程序本身中计算会话大小的方法:

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++;
}

This is how we calculate this size of the session in the application itself:

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++;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文