2009-09-08 9 views
2

Jmeter로 성능 테스트를하는 동안 웹 응용 프로그램에 문제가 있습니다. 제 질문은 Jmeter를 둘러싼 것이 아니라 간단한 서블릿 세션 관리 동작입니다.서블릿에서의 세션 ID 관리

우리는 로그인 페이지를 요청할 때 응답 헤더에 "세션 ID"를 되돌려주고 브라우저가 요청한 다음 요청에 사용되는 웹 응용 프로그램이 있습니다. 세션 ID는 사용자 이름과 암호와 함께 전달되며 인증되면 새로운 세션 ID가 반환되고 해당 세션 ID가 진행되는 상태에서 세션이 유지됩니다. 쿠키를 사용 중입니다.

Jmeter에는 부하 테스트를위한 스레드 기반 접근 방식이 있습니다. 내가 본질적으로 일어나는 일은 각 스레드가 로그인 페이지를 요청하고 어떤 식 으로든 로그인 페이지를 요청하는 마지막 스레드 만 인증된다는 것입니다. 쿠키의 새 세션 ID와 함께 제공되는 후속 로그인 페이지가 오래되거나 다른 세션 ID.

이것은 각 스레드가 다른 세션이며 자체 쿠키 관리자를 가지고 있다는 점에서 기인합니다. 그것은 꽤 사납다.

그러나 제 질문은 다음과 같습니다

  1. 그것이 로그인 페이지로 오는 세션 ID를 가지고 의미가 있는가; 응용 프로그램에 액세스하는 즉시 세션이 생성되는 것을 볼 수 있지만 세션 ID가있는 새 쿠키를 설정하는 것은 무엇입니까? 이 응용 프로그램은 이미 작성되었으므로 궁금합니다.

  2. jmeter에서 각 스레드의 세션 ID가 오버라이드되는 경우, 별도의 쿠키 관리자를 올바르게 할당 할 수 없다는 의미입니까? 또한 스레드가 다른 세션 일지라도 이전 세션 ID 또는 쿠키가 삭제 될 수 있습니까?

서버가 이후 요청에 대해 세션 ID/쿠키를 무효화하는 것을 어떻게 알 수 있습니까? 요청자의 IP 주소를 기반으로하는 것이 아니라 다른 브라우저가 여러 세션을 동시에 열어 볼 수 있기 때문에 확실합니다.

모든 아이디어, 설명 및 문제에 대한 조명이 크게 감사하겠습니다.

답변

0

서버가 쿠키를 쓰는 것보다 확실히 세션 소리가 들립니다.

url에 세션 ID를 포함하여 관리하는 방법을 보았습니까? (브라우저에서 쿠키가 사용되지 않도록 시뮬레이션하십시오.)이 방법이 효과가 있습니까?

0

전혀 해결 되었습니까? 로그인 페이지에서 세션 ID를 갖는 것이 매우 드문 경우라고 할 수 있습니다. 세션은 데이터 서버 측을 저장하고 연결된 사용자에게 해당 데이터를 연결하기위한 것입니다. 물론 사용자를 인증하기 전에 데이터 서버 측은 없어야합니다.