[nGrider3.1] "received a stop message" 발생 조건 문의

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[nGrider3.1] "received a stop message" 발생 조건 문의

jung youngseok
안녕하세요.
nGrinder를 사용하여 부하테스트를 진행하는데 다음과 같은 Controller 명령으로 Test가 진행이 멈추곤 합니다.

2013-01-22 09:58:55,328 INFO  net.grinder.AgentDaemon: received a stop message
2013-01-22 09:58:55,329 INFO  net.grinder.AgentDaemon: dont start anymore by message from controller.

테스트 시나리오
 - 15MB 정도되는 File을 서버에 Upload 하도록 POST Body에 넣어 요청
 - 한 User는 반복적으로 File을 올림

Thread 수에 따라 다르긴 하지만 보통 3개의 File을 올리면 'received a stop message'를 Controller로 부터
받아 추가 진행이 되지 않고 있습니다.

위의 명령이 발생되는 조건이 어떻게 되는지 알려주시면
참고하여 회피할 수 있는 방안을 찾아볼 예정입니다.

감사합니다.
Reply | Threaded
Open this post in threaded view
|

Re: [nGrider3.1] "received a stop message" 발생 조건 문의

junoyoon
Administrator
STOP 메시지는 다양한 조건에서 발생합니다. 사용자가 직접 STOP 메시지를 보낼 경우 또는 시스템이 테스트가 불안정하다라고 판단하여 강제 종료 시킬 경우 입니다.

시스템이 STOP 메시지는 보내는 경우의 판단 조건은 다음과 같습니다.

- 평균 TPS 가 0.001 이하 상태로 60초 이상 지속될 경우
- TPS 수치의 반 이상 error가 10초이상 발생하는 경우

말씀 하신 건의 경우, 위 둘중 하나에 해당할 가능성이 높습니다.

에러는... 꽤 많은 경우 response timeout 에 의해 발생합니다. 15M 정도의 사이즈라면, 아마도 여기서 timeout 이 발생했을 가능성이 높습니다. 로그에서는 이 에러 발생시 Connection reset 이라는 메시지를 보실 수 있습니다.


from net.grinder.plugin.http import HTTPPluginControl
control = HTTPPluginControl.getConnectionDefaults()
control.timeout = 3000 <== 원하는 타임아웃 수치를 밀리세컨드 단위로 늘려주세요.

무엇 보다도 확실한 문제 파악 방법은 agent 에서 전달된 로그를 보는 겁니다.

그럼.

Reply | Threaded
Open this post in threaded view
|

Re: [nGrider3.1] "received a stop message" 발생 조건 문의

jung youngseok
말씀하신대로 timeout 문제가 발생한것으로 보입니다.
timeout 수치를 변경해 보니 timeout 걸리는 시점이 늦춰지네요..

15MB를 httprequest로 보내면 timeout 문제 뿐만아니라 agent 메모리 관리에도
문제가 되어 socket으로 분할 전송하니 timeout 문제는 발생하지 않고 있습니다.
도움 감사드립니다. ^^