2013-02-18 2 views
0

실용적인 과제 : 나는 Lock 스크립트를 사용하여 응용 프로그램에 대해 실행되며 로그 아웃 버튼이 없습니다 (아직). 테스트가 정상적으로 실행되면 약 10 분 동안 안정적인 응답 시간이 지나고 응답 시간이 최고점에 도달하고 서버가 99 %의 메모리 사용량을 기록하고 트랜잭션이 실패하기 시작합니다. 나는이 스크립트가 각 실행 후 vusers를 종료시키지 않아서 인 것으로 의심된다. ​​서버가 종료되지 않은 상태에서 많은 실행 세션을 빌드한다. 그러나 나는 틀릴지도 모른다. Anyays 비즈니스 프로세스에 경쟁 한 후에 각 실행을 프로그래밍 방식으로 닫고 싶습니다. 어딘가에 web_set_sockets_option ("SHUTDOWN_MODE", "ABRUPT")을 사용할 수 있지만이 함수가 실제로 원하는 것을 수행하고 'ABRUPT'가 의미하는 바를 알고 싶습니다. 더 나은 세션 닫기 방법이 있습니까? 녹음 중에 닫는 브라우저를 클릭해도 스크립트에 캡처 된 내용이 없습니다.LoadRunner에서 연결 닫기

+0

좋아, 나는 그것을 얻을. 응용 프로그램에는 로그 아웃이 없습니다 (세션 관리/종료). 이것은 버그입니다. 로그 아웃하고 정리할 코드를 구현하도록 팀에 요청할 것입니다. –

답변

0

귀하의 질문에 따라 귀하가 WEB/HTML 프로토콜을 사용하고 있다고 가정합니다. 핵심 문제는 앱의 세션이 더 우아하고 더 빨리 만료되어야한다는 데 동의합니다. 그러나 이것을 테스트하는 동안 이것을 넘어서기 위해 이것을 시도 할 수 있습니다. 그것은 보증은 아니지만, 비슷한 상황을 다룰 때 과거에는 나에게 가끔씩 일했습니다. 스크립트에 대한 귀하의 런타임 설정을 변경해보십시오 :
런타임 설정> 브라우저> 브라우저 에뮬레이션

당신이 "각 반복에 새 사용자를 시뮬레이션"의 체크 박스가 있는지 확인합니다. 또한 각 반복마다 캐시를 ​​지우는 것과 같은 다른 설정으로 재생해볼 수도 있습니다. 이로 인해 서버의 세션 설정에 따라 각 반복마다 웹 페이지와의 새로운 연결 설정이 발생할 수 있습니다. 다시 말하지만, 이것은 100 %가 아니지만 때때로 저에게 도움이되었습니다.

+0

스크립트 시작 부분의 web_cleanup_cookies() 및 web_cach_cleanup()은 "각 반복마다 새 사용자 시뮬레이션"을 활성화하는 것과 동일한 기능을 수행합니까? AND는 VUgen에서이 옵션을 설정하고 시나리오 구축을 위해 컨트롤러에 업로드하기 전에 스크립트를 저장하는 경로입니다. 또는 전체 시나리오 (전체 시나리오의 설정)에이 설정을 적용 할 수 있으며 예인 경우 설정 되니? –

+0

또한 내 sceenario/Vuser 스크립트에 페이싱 세트가 없습니다. 이 일이 일어날 수 있습니까? 나는 단지 두 개 (!) VUsers 그래서 내 스크립트/설정 또는 테스트중인 응용 프로그램에 문제가있어 야합니다. 우리는 스크립트가 너무 빨리 실행되어 새로운 반복이 시작되기 전에 메모리가 해제되지 않는다는 것을 입증했습니다 (이 경우라고 가정합니다). 간격을 두지 않은 아이디어/경험으로 인해 시간이 지남에 따라 적은 수의 사용자가있을지라도 설명되는 현상이 발생할 수 있습니다. –

1

세션 에이징 문제는 서버 문제입니다. 웹 사이트의 서버 관리자는 주어진 세션에서 아무런 활동이 일어나지 않은 시간 제한 값을 조정할 수 있습니다. 기본적으로 대부분의 장소는 30 분으로 설정됩니다. 서버에서 기본값을 사용하지 말고 필요에 맞게 잘라냅니다.

또한 리소스가 서버 측에 지속적으로 누적되었지만 누출되지 않은 경우 누출이 발생할 수 있습니다.

+0

그래, '주어진 세션에서 아무런 활동도 일어나지 않았습니다'는 전체 비즈니스 프로세스보다 조금 더 설정해야합니까? 그런 다음 세션은 '전체 비즈니스 프로세스보다 조금 더'발표 될 것입니다. 맞습니까? –

+0

대부분의 사용자는 로그 아웃 옵션을 사용할 수 있어도 로그 아웃하지 않습니다. 그들은 단순히 브라우저를 닫거나 다른 사이트로 이동합니다. 이렇게하면 서버에 일련의 세션 변수와 연결된 리소스가 남습니다. 서버에는 유휴 기간 후에이 정보를 지울 수있는 설정이 있습니다. 저는 기존 사용자를 분석하고 유휴 기간의 시간 초과에 대해 ~ 98 백분위 수에있는 값을 찾고 싶습니다. 기존 사용자 (웹 사이트 로그)를 관찰하여 사용자에 대한 영향을 최소화하도록 시간 초과 값을 적절히 설정하십시오. –

0

이 시도 :

web_set_sockets_option("CLOSE_KEEPALIVE_CONNECTIONS", "1"); 
+0

스택 오버플로에 오신 것을 환영합니다! 이 코드 스 니펫이 질문을 해결할 수 있지만 [설명 포함] (// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) 정말 게시물의 품질을 향상시키는 데 도움이됩니다. 앞으로 독자의 질문에 답하고 있으며 코드 제안의 이유를 알지 못할 수도 있습니다. 또한 주석을 설명하기 위해 코드를 군중시키지 마십시오. 그러면 코드와 설명 모두 가독성이 떨어집니다! – kayess