2009-09-08 36 views
2

我在使用Jmeter进行性能测试时遇到了一些与我的Web应用程序有关的问题。我的问题不在于Jmeter,而是围绕着一个简单的Servlet会话管理行为。Servlets中的会话ID管理

因此,我们有一个Web应用程序,凡在当你请求一个登录页面,它在响应头传回一个“会话ID”和用于通过浏览器发出后续请求。会话标识与用户名和密码一起传递,如果通过身份验证,则会返回一个新的会话标识并使用该会话标识继续进行会话。 这是使用cookies。

现在在Jmeter中我们有一个基于线程的负载测试方法。当我平行地运行线程时,实际上每个线程都会请求一个登录页面,并且不知何故,只有最后一个请求登录页面的线程才会被认证,因为我觉得随后的登录页面随Cookie中的新会话ID附带,使旧的其他会话ID。

这是尽管每个线程是不同的会话,并有它自己的cookie管理器。这很奇怪。

但我的问题是:

  1. 是否有意义有会话ID的登录页面来;我发现可能会话是在应用程序被访问后立即创建的,但是它是什么为会话ID设置了一个新的cookie?这个应用程序已经写好了,所以我只是想知道。

  2. 如果每个线程的会话ID是在JMeter的被重写的意思,那我不能够正确地分配一个单独的cookie管理器?即使线程是不同的会话有可能,旧的会话ID或cookie会被丢弃?

服务器如何知道会使后续请求的会话ID/Cookie无效?我相信,不是请求者的IP地址的基础,因为不同的浏览器仍然会让我打开并行的多个会话。

任何想法,澄清和亮点问题将不胜感激。

回答

0

服务器将超时会话它肯定听起来像你在这里写cookie。

你试过看到通过在URL会话ID(模拟cookies在浏览器被禁用)不执行这项工作如何管理?

0

这个问题解决了吗? 我会说在登录页面有一个会话ID是非常不寻常的。会话用于存储数据服务器端并将该数据关联到连接的用户。当然,在认证用户之前,不应该有任何数据服务器端。