먼저 폴더 생성해놓기
(01.script 02.scenario 03.result 04.document 99.etc)
프로젝트 생성
(SN01_시나리오이름_TC01_업무이름
)
녹화하기
녹화할 때 팁! - F12눌러서 확인하는데, 약간 {i} 이 표시되어있는 거 확인하기(캐시메모리 먹는 거 위주로 확인하기)
⭐️녹화 후에 한 단위?마다 FindData("") 꼭 해주기!!
필요한 부분만 Begin()에 넣기
FindDataSave("state", "state=", "&", "");
FindDataSave("transaction_id", "transaction_id=", "&", "");
{transaction_id}
로 작성하면 된다.그리고 cs 파일인 Enerypto.cs에 메서드를 만들면 Begin()에서 사용가능.
그리고 IncludeFile Viewer에서 변수 user를 만들고 엑셀파일에 첫행에 id입력 후, 2행부터 아이디를 입력하게되면 Begin()에서 {user/id}
형태로 사용 가능.
또는 ⭐️ GetParam("user/id")
이렇게 사용하기!! getparam이 더 정확한 방법이다.
InputData("&p_lgn_id=" + HtmlEncode(GetParam("login/id") + "@naver.com"));
이렇게 사용함!!!
Script_Action()부분은 제일 처음 만든 TC01을 복사한 후, 사용.
여기서 왼쪽 Project Viewer에서 프로젝트 이름 변경 해주고,
Action()부분에서 using (new Transaction(this, "여기부분")) 여기부분을 변경된 프로젝트이름으로 바꿔줘야 한다.
스크립트 들고 오는 법
만약 로그인을 하는데 테스트 하는 것에 주된 것이 로그인이 아닐 경우 진짜 로그인하는 것만 들고오기!
근데 만약 사이트의 특정 페이지가 잘 나오는지 체크하는 거면, 특정 페이지 나오고 그 뒤에 딸려오는 리스트페이지 같은 거까지 들어 가야한다.
<컨트롤러>에서 작성
이론적 설명
- Pacing Time(선택)- 1회 수행 시간 고정 클릭 3000ms로 고정하게 되면 1회에 3초로 설정됨, 내가 쏘고 나서 3초 걸림
Pacing = 간격
-> 성능결과로 1초동안 업무가 수행된다고 나옴. 그럼 3초 중 1초업무하고 2초 기다렸다가 한다. 약간 3초안에 업무 다 보는 느낌. 만약 4초가 걸렸다? 그럼 바로 2초 안기다리고 바로 4초뒤에 1초업무 수행함.- Think Time(선택) - 업무 요청 응답 후 30초
-> 3초를 줬다면? 1초 업무를 하고 업무가 끝난 후에 3초를 기다린다.
- VUser 설정 설명
Controller 왼쪽에 Begin, Action 등이 있음.
이천포럼에서는 100VUser 1초 간격으로 설정함.
만약 Begin에서 순차 실행으로 하게 되면, Begin에서만 100유저씩 들어가서 400유저라고 치면 4초만에 로그인이 끝나버린다.
'Action 실행 전 초기화 실행'하면, Action까지 실행 후에 그 담에 또 100유저가 들어간다.
그리고 Begin에서 using (new Transaction(this, "이름1")) 과 using (new Transaction(this, "이름2"))를 나눠서 설정하게 되면, 나중에 결과 부분에서 이 부분의 트랜잭션 이름1과 이름2가 다 나눠져서 나오게 된다.
ServerMonitor 설정 : Add Server 해서 입력하기
-> 필요한 정보 : IP, 계정ID, 계정PW
ServerMonitor 설정 : Command List 추가 입력하기
실행명령에 'uname'이라고 치면 result로 LINUX인지, 뭔지 나온다.
결과 보고 템플릿불러오기를 클릭 후 LINUX 등을 선택 후 확인
(사보정은 LINUX CPU 클릭해서 설정함)
Add Chart 추가하기 : 우클릭 후 '차트 종류 선택' 눌러서 맨 밑의 CPU 선택 후에 'CPU Useage' 탭에 추가한다.
AWS 상태일 때는 기본적으로 영어로 세팅 되어 있기 때문에, 한글이 깨지는 경우가 있다.
한글 깨질 때, 관리자권한으로 꼭 들어가기.
(필기내용그대로라 정확하지 않음)
1. 오른쪽 아래 날짜 클릭 -> 지역 -> 오른쪽 -> 관련 설정 -> '추가날짜..' -> 국가 또는 지역 -> 형식(한국어) -> 관리자옵션 -> 시스템 로켈 변경
2. 방화벽 다 내리기(필수)
3. cmd에서 'netstat -an|findstr 9800' or 'netstat -an|findstr 9801' 검색해서 Listening 상태 확인하기
- 유저수(명)/부하간격(초) = 부하TPS
ex) 4000/3 = 1,333.3- 응답속도
응답속도는 1초이하가 나와줘야 한다 -> 1초단위이인데 1초보다 늦게 나오면 성능이 안좋은거.
NewChart설정(3가지)
분리 조회 하기(VUser)
범례 정보창 클릭
조회 주기 '1'로 설정
Avg 보기
그림 클립보드 복사할 때는 조회 주기 '5'로 설정
ASYNK와 SYNK
보통 메인페이지에 request가 많은데 그럴 경우 사용된다.
ASYNK냐 아니냐는 담당 개발자에게 물어봐야 한다.
ASYNK는 요청이 멀티
SYNK는 요청이 순차적
ASYNK를 스크립트에서 작성을 하게 되면, RequestAsyncAbortAll() 메서드를 꼭 써줘야하는듯
ASYNK는 그 한 문단? 마다 끝에 작성해주는듯.
Putty
DB정보 불러올 때 사보정에서 사용
Putty 명령어 : sar 5 1000(푸티에서만 사용가능) -> 5초 간격으로 1000개 들고오겠다는 뜻이다.
값 들고오는 법(정확하지않음) : change setting -> logging -> log file지정 -> printable output -> apply