안녕하세요(__)
윤준호님 블로그를 통해서 많은 정보를 얻어가고 있는 nGrinder 사용자 입니다.
다름이 아니라 각각의 쓰레드마다 다른 number를 가지고 와서 ID로 활용하기 위해 아래 내용을 참고하여 grinder.processNumber를 사용하려고 하는데요.
http://junoyoon.tistory.com/entry/Thread-%EB%A7%88%EB%8B%A4-%EB%8B%A4%EB%A5%B8-%EC%9D%BC-%EC%8B%9C%ED%82%A4%EA%B8%B0 < 이곳을 참고 하였습니다.
log로 해당 내용을 찍어보니, processNumber가 현재 쓰레드가 돌고있는 processNumber가 아닌 고정으로 0이 나옵니다..제가 잘못 구현한 부분이 있는거 같아 문의 드립니다.
- Test Configuration -
Agent : 1, Processes : 3, Threads : 4 로 Vuser 는 total 12입니다.
- 결과 -
processNumber가 0~2로 증가하지 않고, 0으로 고정되어 threadNumber가 0~3까지 총 4번 반복되어, userid가 testId0,testId1,testId2,testId3 이 4개가 3번 반복되어 로그가 찍힙니다.
- 원하는 결과 -
testId0~testId11까지 총 12개의 아이디가 생성되었으면 합니다.
- 구현부 -
def __call__(self):
#thread count calculate
totalProcessCount = grinder.getProperties().getInt("grinder.processes", 1)
log("######totalProcessCount is : %s"%totalProcessCount) -> 3으로 나옵니다
totalThreadCount = grinder.getProperties().getInt("grinder.threads", 1)
log("######totalThreadCount is : %s"%totalThreadCount) -> 4로 나옵니다.
agentNumber = grinder.agentNumber
log("--agentNumber is : %s--" %agentNumber)
processNumber = grinder.processNumber
log("--processNumber is : %s--" %processNumber)
threadNumber = grinder.threadNumber
log("--threadNumber is : %s--" %threadNumber)
#self.curNumber = ((agentNumber+1)*processNumber*totalThreadCount)+threadNumber -> 이부분은 카운트를 구하기위해 제가 구현해본 부분입니다. 주석처리하여 동작하지 않습니다.
self.curNumber = (agentNumber * totalProcessCount * totalThreadCount) + (processNumber * totalThreadCount) + threadNumber;
log("############curNumber is : %s####################" %self.curNumber)
#id setting
self.userid = "testId%s"%self.curNumber;
self.usernickname = "tL%s"%self.curNumber;
log("user id is : %s"%self.userid)