I. loadrunner 란 무엇인가
LoadRunner 는 시스템 동작 및 성능을 예측하는 업계 표준 부하 테스트 도구입니다. 여러 사용자가 동시 로드 테스트 및 실시간 성능 테스트를 수행하는 방식을 시뮬레이션하여 문제를 확인하고 찾아 전체 엔터프라이즈 아키텍처를 테스트할 수 있습니다.
Ii. loadrunner 의 장점
1. 가상 사용자를 쉽게 생성: 업무 프로세스를 테스트 스크립트로 기록함으로써 시스템에 여러 사용자 액세스를 생성함으로써 로드 테스트에 필요한 하드웨어 및 인력을 줄입니다.
2. 실제 부하 생성: Controller 를 통해 사용자가 시스템에 액세스하여 부하를 생성할 시기 정의, 모든 사용자가 동시에 한 작업을 수행하여 최대 부하 상황을 시뮬레이트하는 등 부하 시나리오를 설정할 수 있습니다.
3. 실시간 모니터: 트랜잭션 성능 데이터 (예: 응답 시간) 및 기타 시스템 구성 요소 (예: 데이터베이스, 네트워크 등) 의 실시간 성능을 실시간으로 표시할 수 있습니다.
4. 결과를 분석하여 문제를 정확하게 파악합니다. LoadRunner 는 모든 테스트 데이터를 수집하여 고급 분석 및 보고 도구를 제공합니다.
Iii. loadrunner 설치 및 사용
1. 설치 절차는 업로드된 LoadRunner 사용 설명서를 참조하십시오. 여기서는 더 이상 자세히 설명하지 않습니다.
2. 구체적인 사용:
파일새로 녹음된 파일을 클릭 하거나 아래의 새로운 단축키를 클릭 하 여 새로 만들 수 있습니다. 파일새로 만들기를 사용하면 프로토콜 선택 창이 팝업되고 새로운 단일 프로토콜 스크립트 (New File Protocol Script) 의 웹 (HTTP/HTML) 항목을 선택하면 됩니다 (웹 항목을 선택하는 것은 웹 애플리케이션을 테스트하고 있기 때문입니다). 그런 다음 녹화를 시작한 설정항목이 팝업되고, 입력 시스템의 주소를 써야 하고, 확인을 클릭하면 입력 주소에 따라 시스템 페이지가 표시되고, 스크립트 녹화가 시작되며, 작은 툴바가 나타납니다:
첫 번째 버튼은 기록 키
입니다두 번째는 재생 스크립트 키
입니다세 번째는 기록 중지 키
입니다네 번째는 기록 일시 중지 키
입니다다섯 번째는 컴파일 스크립트 키
입니다여섯 번째는 새 Action 키를 만드는 것입니다. LR 의 기록 스크립트는 vuser_init, vuser_end 및 Action 의 세 부분으로 나뉩니다. 스크립트 루프를 실행할 때 vuser_init 및 vuser_end 는 한 번만 실행되며 Action 섹션은 여러 번 반복됩니다. 예를 들어 보험 업무를 녹음할 때 로그인 시스템 부분은 vuser_init 에, 등록을 종료하여 vuser_end 에, 중간 보험 작업은 Action 에 넣는다. 순환시 한 번 보험 시스템에 접속해 보험 작업을 반복하기 시작하여 시스템을 종료할 때까지 반복한다.
일곱 번째는 녹화를 변경하는 데 사용되는 options 설정 버튼
8 번째와 9 번째는 삽입 트랜잭션의 시작 및 끝 키입니다. 이를 결합하여 서버의 성능을 측정하는 완전한 것을 형성합니다. 예를 들어, 스크립트를 기록하는 동안 보험 가입 시스템의 쿼리 보험 주문 번호 작업은 쿼리 정보를 입력한 후 조회 버튼을 클릭하기 전에 트랜잭션의 시작점을 삽입하고, 데이터를 조회한 후 트랜잭션의 끝점을 삽입할 수 있습니다. 이렇게 하면 테스트 스크립트를 실행할 때 Loadrunner 가 해당 트랜잭션을 실행하는 데 걸리는 시간을 계산하여 서버에서 쿼리 작업을 수행하는 성능을 쉽게 측정할 수 있습니다.
10 번째는 추가 로드가 심할 경우 서버의 성능을 측정하는 데 사용할 수 있는 어셈블리 포인트 키를 삽입하는 것입니다.
예를 들어, 시스템이 100 명의 동시 보고 작업을 감당할 수 있는지 확인하기 위해 스크립트 입력 중 보고 확인 키를 누르기 전에 집합점을 삽입할 수 있습니다. 이렇게 하면 스크립트가 집합점에 실행될 때 Loadrunner 는 100 명의 가상 사용자가 동시에 보고 확인 버튼을 클릭하도록 합니다 (일부 사용자가 아직 집합점에 실행되지 않은 경우, 먼저 사용자가 사용자와 함께 작업하지 않을 때까지 기다려야 함)
마지막으로, 검증 포인트 키를 설정하고, 트랜잭션을 만든 후 검증 포인트를 설정하여 트랜잭션이 성공적으로 실행되었는지 확인하는 데 사용할 수 있습니다. 예를 들어, 쿼리 트랜잭션 작업을 수행할 때 LR 은 페이지 내용의 표시 여부와 관계없이 웹 페이지의 응답을 감지할 때마다 트랜잭션 pass 를 인식합니다. 따라서 웹 서버에서 반환된 웹 페이지가 정확한지 확인하기 위해 Text/Image 체크포인트를 삽입하여 웹 페이지에 지정된 Text 또는 Image 가 있는지 확인할 수 있습니다.
유효성 검사점을 설정할 때 유효성을 검사하는 텍스트 내용이 중국어인 경우 유효성 검사 내용을 찾을 수 없는 오류 메시지가 반환되기도 하고 페이지 표시가 정확하기도 합니다. 문제의 원인은 LR 이 중국어에 대한 지원부가 좋기 때문일 수 있습니다. 가능한 한 유효성 검사 정보를 숫자나 글자로 선택합니다. 설치 문제일 수도 있고, Tools-gt; 를 시도해 볼 수도 있습니다. Recording Options-gt;; HTTP Properties 아래의 고급 옵션에서 UTF-8 지원을 설정하고 개발자가 중국어 지원을 설정했는지 확인합니다.
기록이 끝나면 먼저 스크립트 저장을 클릭하고 스크립트 이름을 지정합니다. 그런 다음 스크립트를 컴파일하여 구문 오류가 있는지 확인하고 컴파일이 성공하면 스크립트를 재생하여 기록 스크립트가 성공했는지 확인할 수 있습니다.
LoadRunner 가 녹음한 스크립트에는 기본적으로 오류가 없습니다. robot 과는 달리 입력 데이터 누락이 있을 수 있습니다. 다만 일부 비입력 시스템의 웹 페이지 정보를 입력하며 주소에 따라 식별하고 삭제할 수 있습니다.
Iv. loadrunner 스크립트 녹음 학습 요약
1. LoadRunner 는 주로 스트레스 테스트를 위해 스크립트를 녹음하므로 프로세스를 실행할 때 주요 프로세스를 달리면 됩니다. 즉 시스템에 필요한 정보 입력만 하면 됩니다.
2. LoadRunner 의 스크립트 실행 중 한 번의 업무에만 사용할 수 있는 데이터는 차량 선반 번호, 번호판, 신고 번호 등 매개변수화해야 중복 보험이나 신고 불가 사건 발생 현상을 피할 수 있어 계속할 수 없다. 파라메트릭 단계:
1) 매개변수화가 필요한 데이터를 마우스 오른쪽 버튼으로 클릭하고 Replace with a parameter 를 선택하여 설정합니다.
2) 팝업 편집 상자에서 이해하기 쉬운 매개변수 이름을 설정한 다음 등록 정보를 클릭하여 등록 정보를 설정합니다.
3) Create Table 버튼을 클릭하고 매개 변수 양식을 생성한 다음 Edit with Notepad 버튼을 클릭하여 메모장에 새 매개 변수를 추가하고, 추가한 후 다시 캐리지 리턴 (캐리지 리턴을 하지 않으면 마지막 데이터를 읽을 수 없음) 을 끄고, 매개 변수화 작업이 완료됩니다.
4) Ctrl +H 키를 사용하여 매개변수화가 필요한 동일한 데이터를 찾을 수 있습니다.
3. 스크립트 실행 과정 중 업무 운영으로 인해 이전에 생성된 보험증권은 이어서 핵보험 업무를 제출해야 하고, 매번 생성된 보험증권번호가 다를 때마다 핵보험 제출에 사용된 단번호도 이전과 일치해야 하기 때문에 관련 처리를 하고 생성된 새 보험증권번호를 읽어서 핵보험 제출 절차를 제출해야 한다. 연관 단계:
1). 결합된 데이터가 처음 나타나는 위치를 찾아 해당 데이터가 어떤 함수에 의해 반환되는지 확인합니다.
2). 트리 구조에서 해당 데이터 값을 반환하는 함수를 클릭하여 해당 Server Response 정보를 보고, 복사된 연관 데이터로 반환 문을 찾고, 구분이 분명한 문 (반드시 첫 번째 반환 문일 필요는 없음) 을 찾은 다음 web_reg_save_param 을 사용합니다
주: 관계형 함수는 해당 데이터 값을 반환하는 첫번째 함수 앞에 작성해야 합니다.
3). 웹 _ reg _ save _ param (constchar * paramname, lt; 목록 ofattributesgt; , last);
함수의 첫 번째 매개 변수는 연관된 데이터를 정의하는 데 사용되며 가독성이 가장 좋습니다. 두 번째 인수는 반환 문에서 연관된 데이터의 특정 위치를 식별하는 데 사용되며, 프로그램이 인식할 수 있도록 데이터의 왼쪽 및 오른쪽 경계를 작성합니다. LAST 는 속성 열의 끝을 나타냅니다. 예를 들어 청구 업무를 처리하는 프로세스 번호는 서버의 반환 문에서
입니다Lt; Input name = flowidtype = "hidden" value = l05012009110000035215 gt;
연관은 다음과 같습니다.
Web_reg_save_param("LogFlowID ",
"lb = name = flowidtype = \" hidden \ "value =",
"Rb = gt;" ,
Last);
정의된 매개변수 이름은 LogFlowID 로, 프로세스 번호를 나타내며 이해하기 쉽습니다. 왼쪽 경계는 name 에서 취하면 식별할 수 있고, 구분할 수 있는 한 길거나 짧은 점을 가질 수도 있습니다. 오른쪽 경계는 gt 밖에 없습니다. , 그냥 쓰기; 마지막으로 LAST 라고 써 주세요.
정의된 왼쪽 및 오른쪽 경계에서 큰 따옴표가 있는 경우 스크립트에서 이스케이프해야 합니다. 큰 따옴표는 C 에서 의미가 있기 때문입니다. 여기서 문 정보와 오른쪽 슬래시만 표시하면 됩니다. 꺽쇠 괄호를 직접 쓰다.
왼쪽 및 오른쪽 경계도 큰따옴표로 묶어야 합니다.
정의된 매개변수는 프로그램에 작성되며 단일 꺾쇠 괄호 (swfLogFlowID={LogFlowID}
) 를 추가해야 합니다V. 스크립트 실행 중 오류 처리 보고
1. vuser_init.c(3051) : error-26377: no match found for the requested parameter "proposal no". check whether the requested boundaries exist in the If the data you want to save exceeds 256 bytes, use web _ set _ max _ html _ param _ len to increase the parameter size [
2. vuser _ init.c (3051): web _ submit _ data ("uiprpoeninputnext.jsp") highest severity Li
두 개의 오류가 함께 발생합니다. 오류 문은 모두 연결된 함수 아래의 제출 데이터 함수 위치이지만 특정 오류는
일 수 있습니다1). 연관 함수의 왼쪽과 오른쪽 여백은 제대로 쓰여지지 않았습니다. 모든 정보는 문자로 입력해야 합니다. 중국어나 기타가 될 수 없습니다.
2). 관련 함수가 쓰기 쌍을 확인한 경우 제출 데이터 함수의 업무 설정을 확인합니다. 예를 들어 보험증서 조회문 때문에 설정된 조회 시간이 지난 시간일 수 있습니다. 새로 생성된 보험 가입서는 당연히 찾을 수 없습니다. 이렇게 하면 프로그램도 이런 오류를 보고할 수 있습니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 남녀명언)
3. loadrunner 는 청구 입건 처리를 수행하고, 스크립트를 녹음한 후 재생하고, 오류를 보고합니다.
스크립트 로그 정보 팁:
1. action.c (400): error-26366: "text = 입건 정보 제출 성공" not found for web _ reg _ find [msgid: merer
2. action.c (400): web _ submit _ data ("claimsave.do") highest severity level was "error"
스크립트 실행 프로세스는 입안 정보 제출 페이지에서 중지됩니다. 오류 원인: 데이터 문제, 변경해야 할 정보가 변경되지 않았을 수 있습니다.
이 과정에서 신고 번호는 한 번만 입건할 수 있지만, 초기 스크립트에는 매개변수, 연관이 설정되어 있지 않고 보험증서 번호를 사용하여 조회해 오류를 가린다. 입안 시스템에서는 보험증서 번호를 반복 신고할 수 있지만 신고번호는 한 번만 입건할 수 있으며, 프로세스를 통과하려면 먼저 이 보험증권을 중복하여 신고해서 새로운 신고번호를 얻어야 한다.
Vi. 성능 테스트에 대한 시나리오 설정
스크립트 기록이 완료되면 테스트 장면을 준비합니다.
1. 먼저 테스트 데이터를 준비합니다.
예를 들어, 자동차 보험에 가입하려면 피보험자와 차량 번호 정보가 있어야 피보험자를 고유하게 식별할 수 있으므로 피보험자와 차량 번호를 파라메트릭하게 처리하고 텍스트 상자를 편집하여 스크립트를 고유하게 읽을 수 있도록 많은 양의 데이터를 입력해야 합니다.
1). 피보험자 매개 변수 입력, 선반 번호 매개 변수, 스크립트 녹음의 매개 변수화 처리
2). 보험 가입자와 선반 번호가 함께 보험 데이터를 생성하기 때문에, 보험 가입자 매개변수와 함께 읽도록 선반 번호를 설정할 수 있습니다. 설정 단계는
보험 가입자 파일 보관 경로-filepath
보험 가입자 매개변수 데이터 읽기 방법
스크립트는 열 이름으로 매개 변수를 읽고, 행당 한 번씩 데이터를 읽고, 매번 새 값을 순환합니다.
그런 다음 선반 번호 매개 변수 정보 설정:
선반 번호 매개 변수 읽기 파일 경로는 보험 계약자 파일 경로와 동일하게 설정됩니다
스크립트는 열 이름으로 매개 변수를 읽고, 줄 번호는 읽은 보험 가입자 데이터와 같은 줄을 선택합니다
이렇게 하면 필요한 보험 가입 생성 매개 변수 데이터
를 얻을 수 있습니다2. 테스트 장면 설정
Tools-gt; 를 클릭합니다. Create Controller Scenarios, 팝업 장면 유형 선택 상자:
필요한 가상 사용자 수를 입력하고 결과 생성 저장 경로 및 그룹명을 선택합니다. 확인 후 특정 설정 페이지로 이동:
Quantity 는 가상 사용자 수를 나타내고 group name 은 그룹 이름입니다.
1). 런타임 옵션 설정 run–timesettings
주기 수 선택 Run Logic-gt;; Iteration Count, 10 회 주기 설정, 가상 사용자 수가 이전에 설정된 5 명, 1 * * * 이 50 장의 보험 가입서를 생성할 것으로 예상됩니다.
사고 시간을 설정합니다. 사고 시간은 일반적으로 스크립트를 기록하는 동안 페이지 정보를 채우는 데 걸리는 시간입니다. 항목을 무시하도록 선택하면 스크립트를 실행하는 데 걸리는 시간을 절약할 수 있습니다.
네트워크 연결 시간을 설정하고 네트워크 프로토콜 항목인 인터넷 프로토콜 (Internet Protocol) 의 옵션 버튼을 클릭하여 팝업 페이지의 HTTP-request connect timeout 및 HTTP-request receive timeout 값을 1000 으로 변경합니다. 네트워크 상태가 좋지 않은 경우 서버에 수신 데이터를 보낼 수 있습니다.
2). 편집 스케줄 설정
가상 사용자 로드 방법 선택:
한 번에 모든 사용자를 로드하거나 필요에 따라 1 초에 한 명 또는 다른 사용자를 로드하도록 설정할 수 있습니다.
종료 방법 선택:
1 초 동안 사용자를 로드하도록 선택하면 모든 스크립트 실행이 중지될 때까지 종료가 로 설정됩니다. 한 번에 모든 사용자 로드를 선택하면 실행 후 정지 및 정지 안함 옵션을 선택할 수 있습니다.
이러한 설정이 완료되면 테스트 장면 배치가 한 번에 완료됩니다. 베이스라인 검사 또는 단일 포인트 동시 테스트를 수행할 수 있습니다.
Vii. 성능 테스트 단계
A). 테스트 도구 외에 성능 테스트에 필요한 시스템 및 비즈니스 지식
1. 보험업계의 업무 특징에 익숙해지면 개발 및 고객과 요구 사항을 논의하고 테스트 사례를 개발하는 데 도움이 됩니다.
2. 시스템의 구현 특성에 익숙하고 구현 방법을 개발하여 프로그램이 복잡하고 시스템 자원을 소비하는 사용 사례 지점을 선택하는 데 도움이 됩니다.
3, 데이터 구조에 익숙하고, 데이터 저장 규칙을 이해하고, 스크립트 디버깅, 데이터 준비, 테스트 실행 및 모니터링에 도움이됩니다.
4. 시스템에서 사용하는 데이터베이스, 운영 체제, 미들웨어의 모니터링 및 성능 문제를 숙지하여 모니터링 및 발견 문제를 테스트하는 데 도움이 됩니다.
5. 시스템 아키텍처 및 시스템 통합 방식에 익숙해지면 성능 문제를 분석하고 명확하게 파악할 수 있습니다.
2) 성능 테스트 실행 프로세스
1. 베이스라인 검사
1). 목적: 환경이 사용 가능한지 확인합니다.
스크립트가 장면에서 제대로 실행되는지 확인합니다.
2). 방법: 1 명이 5 회 단독으로 순환한다-다른 사람의 간섭 없이 깨끗한 환경
3). 결과: 보통 한 가지 사물에 대한 응답 시간이 3 초 이상이면 문제가 있을 수 있습니다. 개발자
2. 단일 포인트 동시
1). 목적: 여러 프로세스의 잠금 메커니즘과 같은 문제를 신속하게 파악하기 위해 서로 영향을 미치는지 확인합니다.
2). 방법: 보통 10 명 또는 20 명이 10 ~ 15 분 동안 집행하고, 집행 과정은 사고 시간을 무시한다.
사고 시간을 무시하면 클라이언트 시간이 줄어들고 서버에 데이터 전송 속도가 빨라지며 서버의 압력이 크게 증가합니다. 20 명의 단일 지점 동시성의 압력은 200 명의 정상적인 서버 실행에 대한 압력과 같습니다.
3). 단일 포인트 테스트 데이터는 혼합 테스트에 사용할 수 있지만, 단일 포인트 테스트 데이터는 혼합에 충분하지 않을 수 있으며, 충분한 데이터를 직접 준비해야 합니다.
3. 프로그램 테스트--혼합 테스트
1). 목적: 프로덕션 환경 시뮬레이션
2). 방법: 1 시간 정도 집행하고 사고시간
Viii. 자원 모니터링 및 조정
성능 테스트 실행 과정에서 시스템 리소스를 모니터링하여 메모리 사용, SQL 서버 등 사용자의 실제 요구를 충족시킬 수 있는지, LR 생성 분석 보고서와 함께 시스템에 문제가 있을 수 있는 곳, 개선이 필요한 곳, 튜닝이 필요한 곳 등을 분석해야 합니다. 이것이 바로 내가 나중에 공부해야 할 곳이다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 성능명언)
1. WebLogic 사용법을 배우고 WebLogic 공통 매개 변수의 의미를 이해합니다. Weblogic 자체 모니터링 스테이션을 통해 현재 JVM 크기, 데이터베이스 접속 풀 사용, 현재 연결된 클라이언트 수, 요청 상태 등을 확인할 수 있습니다.
2. Oracle 사용 학습, 아키텍처, 특히 oracle10 의 awr 에 익숙 함, awr 은 통계를 수집하고 집계하여 잠재적 문제를 추적하기 위해 이러한 통계에서 성능 메트릭을 내보낼 수 있습니다.
3. LR 의 이론 지식과 실제 운영을 계속 배워야 한다. 책' 웹 성능 테스트 실전',' 소프트웨어 성능 테스트 프로세스 상세 및 사례 분석'