2009-09-08 40 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是非常不尋常的。會話用於存儲數據服務器端並將該數據關聯到連接的用戶。當然,在認證用戶之前,不應該有任何數據服務器端。