본문 바로가기

프로그래밍(TA, AA)

[성능테스트] 성능 테스트 관련 스크랩

JMeter : http://hwangmin84.tistory.com/21


Loadrunner : http://egloos.zum.com/choungjae/v/470630


샘플 스크립트 : 

http://claudihome.com/html/LR/function_reference/Content/web/lrFuncRef_WVF_web_submit_data.htm

http://claudihome.com/html/LR/function_reference/Content/web/etc/lrFuncRef_WVF_w_sbmt_data_Example.htm

http://loadtest.co.kr/loadtest/4.vugen/08-vugen.php

http://lindows.iteye.com/blog/1266180



hp사에서 개발한 성능 테스트 툴. 로드 테스트 소프트웨어로써 애플리케이션을 가동하기 전에

문제를 해결할 수 있도록 end-to-end 시스템 성능에 대한 정보를 제공.


클라이언트: 사용자 요청을 처리하기 위해 소용된 응답시간 측정.

서버: 단위 시간당 시스템에서 처리되고 있는 처리량 측정.

일반적인 성능 측정의 기준은 TPS.


목적에 따라 3개의 테스트 유형으로 분류 가능.

1. 단위 테스트 - 단위별 업무의 최대한의 성능을 측정하는 단계

2. 통합 테스트 - 목표를 정해놓고 계산된 부하를 발생시켜 측정하는 단계

3. 임계 테스트 - 정해놓은 목표없이 도출할 수 있는 최대 성능을 측정하는 단계


* 로드런너 사용법

1. 스크립트 작성

- 측정하고자 하는 페이지를 열어서 레코딩.

- 레코딩의 결과로 측정한 스크립트가 생성됨.

- 또는 직접 스크립트 작성.

2. 시나리오 작성

- 유입 트래픽, 시간(주기) etc.

3. 실행 및 결과 분석



[구체적인 사용법]


1. Virtual User Generator (스크립트 작성)

다음 단계 : > Tools > Create Controller Scenario


[예시 스크립트]

Action()

{

lr_save_string("21.21.25.14", "restapiURL");

lr_save_string("bda527a3f5623062d4839bd", "sessionIId");

lr_save_string("6584991", "destFolderId");

lr_save_string("28841", "fileSize");

lr_save_string("Vita.jpg", "fileName");

// web_add_auto_head("Authorization", "Bearer eb39a-5e54-48c1-b98c-c86eae5e");

lr_start_transaction("RESTAPI_UPLOADSERVERINFO_RESTAPI");

web_submit_data("restapi_nonce_upload",

"Action=http://{restapiURL}/restapi/nonce/upload",

"Method=GET",

"TargetFrame=",

"RecContentType=text/html",

"Mode=HTML",

ITEMDATA,

"Name=SESSION_ID", "Value={sessionId}", ENDITEM,

"Name=DEST_FOLDER_ID", "Value={destFolderId}", ENDITEM,

"Name=FILE_SIZE", "Value={fileSize}", ENDITEM,

"Name=FILE_NAME", "Value={fileName}", ENDITEM,

LAST

);


lr_end_transaction("RESTAPI_UPLOADSERVERINFO_RESTAPI", LR_AUTO);


return 0;

}



동적으로 파라미터 할당하기

Solution Explorer > Parameters > parameter가 담긴 파일을 불러오거나 column, row를 추가하여 직접 추가 > parameter 이름은 실제로 쓸 parameter 이름과 같아야 한다.



2. Controller ( 시나리오 작성 )

다음 단계: > Tools > Analysis

아래와 같이 시작 Vuser, 지속시간, 종료 Vuser에 대한 설정이 가능하다.

유입/유출되는 Vuser의 숫자, 시간 간격 설정 가능.



스크립트에서 우클릭 > Runtime Settings


Pacing: pacing time 설정

Log: 로그 사용 여부 설정. 일반적으로 로깅 사용 해제

Think Time: Think time 사용 여부. 일반적으로 think time 무시

Miscellaneous: Error Handling, Multithreading, Automatic Transactions 설정.

일반적으로 Error Handling 체크 해제, Multithreading은 thread, Transactions 체크 해제



3. Analysis (실행 및 결과 분석)