성능 테스트 도구 - LoadRunner

환경 빌드

LoadRunner는 Windows 운영 체제에서만 실행할 수 있으며 MAC 운영 체제에서는 지원하지 않습니다 MAC 운영 체제를 사용하는 경우 MAC 운영 체제에 가상 머신을 설치한 다음 Windows 운영 체제를 설치한 후 loadrunner를 설치해야 합니다. 더 번거로운 시스템.

360 속도 브라우저 다운로드 주소: http://chrome.360.cn/web/newfeature_7_2.html?w
360 속도 브라우저가 아닌 360 속도 브라우저라는 점에 유의하십시오.

  1. 설치 패키지 다운로드

설치 파일은 미리 다운로드해야 합니다.
링크: https://pan.baidu.com/s/1Qqq3qPXZTj7CzaVaWFjk6A?pwd=kbfw
추출 코드: kbfw

  1. 로드러너 설치

다음 튜토리얼에서는 특별한 주의가 필요한 단계만 표시하고 다른 단계는 생략합니다.특별한 지침이 없으면 다음 단계로 이동합니다.HP_LoadRunner_12.02_Community_Edition_T7177-15059.exe를 두 번 클릭하여 설치 인터페이스를 팝업합니다
.
2. 설치 프로그램이 압축 해제를 시작하고 기본 경로를 선택하고 설치를 클릭합니다.
3. Loadrunner 프로그램은 Visual C++ 라이브러리를 사용합니다. 이러한 라이브러리가 없으면 설치 프로그램이 설치하라는 메시지를 표시합니다. 이때 "
확인 "을 설치합니다. 프로세스 중에 다시 시작하라는 메시지가 표시되면 필요에 따라 다시 시작하면 다시 시작한 후 설치 프로세스가 계속됩니다.
4. 단계별로 설치하려면 기본 작업을 따르십시오..
5. 설치 프로세스 중에 다음 프롬프트가 표시됩니다. 지정된 프록시에서 사용하는 인증서가 없으면 확인 표시를 제거하십시오.
이미지.png
설치가 완료되면 그림과 같이 인터페이스에 세 개의 아이콘이 나타납니다.
이미지.png

Loadrunner의 기본 개념

기능 : LoadRunner는 많은 소프트웨어 아키텍처에 적합한 자동 부하 테스트 도구로, 응답 시간, 처리량, 동시 사용자 및 사용자가 관심을 갖는 성능 카운터 측면에서 시스템의 성능을 측정하고 사용자가 시스템 성능을 최적화할 수 있도록 지원합니다.
원리 : LR이 시작되면 작업 표시줄에 Agent 프로세스가 표시되며 Agent 프로세스를 통해 다양한 프로토콜의 Client와 Server 간의 통신을 모니터링하고 LR의 C 언어 기능 집합을 사용하여 스크립트를 기록합니다. 따라서 LR에서 지원하는 프로토콜이 있는 한 녹화는 없을 것이며 LR은 이러한 스크립트를 호출하여 서버에 요청을 보내고 서버의 응답을 수락합니다. 서버가 내부적으로 처리하는 방법은 중요하지 않습니다.
LoadRunner는 동시 로드 및 실시간 성능 모니터링을 구현하기 위해 수천만 명의 사용자를 시뮬레이션하여 문제를 확인하고 찾아내고 성능을 최적화하며 애플리케이션 시스템의 릴리스 주기를 가속화합니다.

구성 : LoadRunner는 주로 VuGen(가상 사용자 스크립트 생성기), Controller(테스트 컨트롤러) 및 Analysis(결과 분석기)의 세 가지 프런트 엔드 기능 구성 요소를 포함합니다. 시스템은 백그라운드 기능 구성 요소 LG(부하 생성기) 및 프록시(사용자 에이전트)를 자동으로 호출하여 성능 테스트를 완료합니다.
VuGen은 스크립트를 기록하고 이식할 수 있는 곳입니다. 스크립트를 기록하거나 작성하여 사용자 행동을 시뮬레이션합니다.
컨트롤러는 부하 테스트 관리 및 모니터링을 수행하는 중심입니다. 여기에서 특정 성능 테스트 계획을 지정하고, 성능 테스트를 실행하고, 테스트 데이터를 수집하고, 테스트 지표를 모니터링합니다. 모니터링 도구는 테스트 중에 수집된 클라이언트, 서버 및 네트워크 성능 지표 데이터를 모니터링 페이지에 표시하여 테스터가 언제든지 시스템 성능을 파악하는 데 편리합니다. (스크립트 실행 시나리오 설계)
테스트가 완료된 후 Analysis는 테스트 중에 수집된 다양한 성능 데이터를 계산, 요약 및 처리하고 다양한 차트 및 보고서를 생성하며
시스템 성능 테스트 결과 분석을 지원합니다. (성능 테스트 보고서 생성)
LG는 테스트 중인 시스템에 동시에 액세스하는 여러 사용자를 시뮬레이션하는 구성 요소입니다. 다중 사용자 액세스 시스템을 시뮬레이션하기 위한 전제는 가상 사용자 스크립트를 갖는 것입니다.
프록시는 완성된 스크립트 녹화 및 재생 프로세스를 지원합니다.

loadrunner를 사용하기 전에 몇 가지 개념을 이해해 보겠습니다.
시나리오: 장면. 소위 시나리오는 각 테스트 중에 발생하는 이벤트를 나타냅니다.
Vuser: 가상 사용자. LoadRunner는 다중 스레딩 또는 다중 처리를 사용하여 응용 프로그램에서 사용자 작업으로 생성된 압력을 시뮬레이션합니다.
장면에는 여러 가상 사용자 또는 수천 명의 가상 사용자가 포함될 수 있습니다.
Vuser 스크립트: 스크립트. 스크립트를 사용하여 시나리오에서 Vuser가 수행하는 작업을 설명합니다.
거래: 거래. 트랜잭션은 사용자의 특정 비즈니스 프로세스를 나타내며 이러한 비즈니스 프로세스의 성능을 측정해야 합니다.
랑데뷰: 컬렉션. 여러 사용자의 동시성을 테스트할 때 각 사용자가 트랜잭션 스크립트를 실행하는 순서가 불확실하므로
얻은 테스트 결과는 완전한 동시 제한 테스트 결과가 아닙니다. 트랜잭션을 시작하기 전에
"집합점"을 삽입한 다음 다중 사용자 실행 시 사용자 수가 조건을 충족할 때까지 사용자 요청을 중지할 수 있습니다(기본값은
사용자의 100%가 집결점에 도달함). 그러면 모든 사용자가 동시에 후속 요청을 발행합니다.

Loadrunner의 성능 테스트 프로세스:
이미지.png

성능 테스트 계획 개발:
애플리케이션 분석, 테스트 목표 결정, 수행 방법 계획

**테스트 스크립트 개발** LoadRunner는 가상 사용자 활동을 사용하여 실제 사용자가 웹 응용 프로그램을 작동하도록 시뮬레이션하고 가상 사용자 활동은 테스트 스크립트
에 포함되므로 테스트 스크립트는 테스트에 매우 중요합니다. 테스트 스크립트는 VuGen 구성 요소를 사용하여 개발됩니다. 테스트 스크립트가 달성해야 하는 것은 다음과 같습니다.

  • 각 가상 사용자의 활동
  • 매개변수화하다
  • 사물을 정의하다
  • 체크포인트 정의

**운영 시나리오 설계**
운영 시나리오는 테스트 활동 중에 발생하는 다양한 이벤트를 설명합니다. 실행 시나리오는 가상 사용자 활동을 실행하는
부하 생성기 시스템 목록 , 테스트 스크립트 목록, 여러 가상 사용자 및 가상 사용자 그룹으로 구성됩니다.
**테스트 실행, 모니터링**
모든 것이 구성되면 테스트 실행을 시작합니다.
운영 중 각 서버(DataBase Server, Web Server 등) 의 운영을 모니터링 할 필요가 있습니다 .
**분석 테스트 결과**
이전의 모든 준비는 이 단계를 위한 것입니다. 수많은 차트를 분석하고 다양한 보고서를 생성하고 최종적으로 결론을 도출해야 합니다.
LoadRunner는 성능 테스트의 기본 프로세스를 다루기 위해 3가지 주요 기능 모듈을 사용합니다.

  • 가상 사용자 생성기
  • 제어 장치
  • 분석

그 중 Virtual User Generator는 VU 스크립트를 생성하는 단계에서, Controller는 시나리오를 정의하고 시나리오를 실행하는 단계에서,
Analysis는 결과를 분석하는 단계에서 사용됩니다.

테스트 스크립트 개발

Loadrunner 설치 시 함께 제공되는 샘플 프로그램 Web Tours로 설명합니다.

  1. \HP\LoadRunner\WebTours에서 StartServer.bat를 선택하여 서비스를 시작합니다.

이미지.png
브라우저에 192.168.32.1을 입력합니다.
entId =uaa847724-7fce-4&from=paste&height=504&id=ub9c97961&originHeight=630&originWidth=937&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=67315&status=done&style=none&taskId= ub51bef59-a6a 0-423f-887a-7b3d6c5fa7b&title=&width=749.6) 관련 구성
:
1 ) 포트 번호가 1080인 이유:
PRWEF[1DMVFX)AC%Z{]_`}A.png
2) 로그인 계정 및 비밀번호 정보
CL6OSUJ(PWIFE~62.png

기본 사용자 스크립트 기록

  1. Visual User Generator를 시작한 후 File -> New Script를 선택합니다.

![티~ [ [[ SC(E]GPT3(YLBQ(V_7.png)(https://img-blog.csdnimg.cn/img_convert/44d68fa2c85f20de92448897170447fe.png#averageHue=#f9f7f6&clientId=uaa847724-7fce-4&from=paste&height=35 5&id=u 580cceab&originHeight= 444&originWidth =508&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=94477&status=done&style=none&taskId=udd6d14bb-8f10-4bb2-b2b8-99a846218cd&title=&width=406.4) 테스트할 웹 프로젝트이므로 프로토콜은 Web-HTTP/ HTML
, 만들기를 클릭하면
RVQH_~%41P2A9W8TDP(U2AV.png
이미지.png
기본 창 VuGen의 스크립트는 vuser_init, vuser_end 및 Action의 세 부분으로 나뉩니다. vuser_init는 사용자 초기화에 사용되며 vuser_end는 사용자 정리에 사용됩니다.
Action은 특정 작업에 사용됩니다. JUnit 등의 테스트 프레임워크와 유사합니다.

예:
테스트 시나리오는 사용자가 시스템에 로그인하고 검색 작업을 수행한 다음 시스템에서 로그아웃하는 것입니다.
여기서 로그인은 일반적으로 vuser_init에, 종료는 vuser_end에, 검색은 Action에 배치됩니다.

테스트 스크립트를 반복 실행하면 vuser_init 및 vuser_end의 내용은 한 번만 실행되고 Action의 일부만 반복 실행됩니다.

3. 녹음 작업을 시작하려면 녹음 작업을 선택합니다. 녹음 중에 URL을 입력해야 합니다. 여기에서는 http://127.0.0.1:1080/WebTours/를
예로 들어 설명합니다.

기록을 시작하려면 클릭하면 loadrunner가 자동으로 IE를 호출하고 기록을 시작합니다. 여기에서는 기록할 등록을 예로 들어 기록이 완료되면 중지를 클릭하여 기록을 중지하고 기록된 스크립트를 볼 수 있는 스크립트 인터페이스로 돌아갑니다.

![XL FXI 'C 9 6 D ! [ W ) UG 6 MLKBUF 3 FXI`C_96D%U9HRZ[9J_1.png](https://img-blog.csdnimg.cn/img_convert/c7de73b250a6976fce24e640c8ed6f44.png#averageHue=#f7f4f3&clientId=uaa847724-7fce-4& from=붙여넣기&높이=537&id =ua7ddf55b&originHeight=671&originWidth=826&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=92797&status=done&style=none&taskId=u501efe87-ff95-4a44-8680-37d74c32391&title=&width=66 0.8) ![W~)UG6MLKBUF3FX 아이씨 _ _96 D ! [ W ) U G 6 M L K B U F 3  ABPYKT)1.png
녹음 중에 화면에 툴바가 나타납니다. 기록은
일시 중지, 중지, 작업 추가, 트랜잭션 추가 및 랑데부 포인트 추가와 같은 작업을 제공합니다.
![BDL$44I2Z0MUT)40([email protected]
이 시점에서 웹 로그인 페이지로 이동하여 계정 비밀번호를 입력하고 로그인을 클릭한 후 스크립트 기록을 종료합니다.
클릭하여 실행:
이미지.png
![0D9X1MUM3G]NR41J)%]]1.png](https://img-blog.csdnimg.cn/img_convert/e2baaf770a9b9cc9e13994d38a2f805b.png#averageHue=#8bc8e3&clientId=u023f5d50-2edb-4&from=paste&height=132&id=uda95bf3c&ori ginHeight=165&originWidth=763&originalType=binary&ratio =1.25&rotation=0&showTitle=false&size=28872&status=done&style=none&taskId=u2019a3db-44a8-4037-bf53-259651cf61f&title=&width=610.4)

트랜잭션 삽입

기능:

lr_start_transaction("Login");
lr_end_transaction("Login",LR_AUTO);

트랜잭션 삽입 방법:
(1)
![BD L$44I2Z0MUT)40([email protected]
(2) 오른쪽 클릭
이미지.png
1689343549410.png

랑데뷰 삽입 lr_rendezvous("login");

과부하 상태에서 서버의 성능을 측정하기 위해 집결점을 삽입합니다. (테스트 동시성)

이미지.png
1689343648053.png

체크포인트 삽입

VuGen은 스트레스 테스트 중에 웹 서버에서 반환한 웹 페이지가 올바른지 확인하기 위해 텍스트 체크포인트를 삽입할 수 있도록 합니다.
이 체크포인트는 지정된 텍스트가 웹 페이지에 존재하는지 여부를 확인합니다
. 체크포인트의 의미는 기본적으로 JUnit의 assertion 함수와 동일합니다. 메뉴 - 보기 - 스냅샷을 통해
기능: web_reg_find();를 요청하기 전에 체크포인트를 등록해야 합니다.

web_reg_find("Fail=NotFound",
		"Search=All",
		"Text=Username",
		LAST);

1689344372730.png

파라메트릭 입력

사용자가 데이터베이스 레코드 추가와 같은 스크립트 기록 프로세스 중에 일부 데이터를 채우고 제출하는 경우. 이러한 작업은 스크립트에 기록됩니다
. 여러 가상 사용자가 스크립트를 실행하면 모두 동일한 레코드를 제출하므로 실제 실행 상황에 맞지 않아
충돌이 발생할 수 있습니다. 실제 환경을 보다 사실적으로 시뮬레이션하기 위해서는 다양한 입력이 필요합니다.
매개변수화된 입력은 좋은 접근 방식입니다.
매개변수를 사용하여 사용자 스크립트를 나타내면 두 가지 이점이 있습니다.

  • ① 스크립트의 길이를 줄일 수 있습니다.
  • ② 다른 값을 사용하여 스크립트를 테스트할 수 있습니다. 예를 들어 제목이 다른 책을 검색하려는 경우 제출 기능을 한 번만 작성하면 됩니다. 재생 중에 특정 이름을 가진 값을 검색하는 대신 다른 매개변수 값을 사용할 수 있습니다.

매개변수화는 다음 두 가지 작업으로 구성됩니다.

  • ① 상수 값을 스크립트의 매개 변수로 바꿉니다.
  • ② 파라미터의 속성과 데이터 소스를 설정합니다.

매개변수화는 함수 내의 매개변수에만 사용할 수 있습니다. 함수 인수가 아닌 문자열을 나타내기 위해 인수를 사용할 수 없습니다.
1689344686593.png
1689344793670.png
1689344827049.png
1689344897837.png
1689345046929.png
비밀번호는 동일합니다.
로깅 설정: 확장 ​​로깅 확인
1689345536759.png
실행 횟수:
1689345585428.png

1689345727066.png
1689345990983.png

로그 삽입(2종)

lr_log_message("**************************login_end*******************************");
lr_output_message("***********************50行************************************");

1689346077747.png
1689346221791.png

함수 삽입

VuGen에서는 C 언어의 표준 함수와 데이터 타입을 사용할 수 있으며 구문은 C 언어와 동일합니다. 다음은 보다 일반적으로
사용되는 함수 및 데이터 유형을 간략하게 소개합니다.
이미지.png

1689346543641.png

추천

출처blog.csdn.net/qq_53869058/article/details/131744229