성능 테스트 도구 알아보기: Silk Performer (5) 실행

Updated:

이번에는, Silk Performer에서 작성된 스크립트를 기반으로 성능 테스트를 실행하는 방법에 대해 간단히 알아보겠습니다.

1. Run Test

실행을 위해, Silk Performer Workbench 상단 Workflow Bar에서 ‘Run Test’를 클릭합니다.

Silk Performer

1) Workload 확인

아래와 같이, ‘Workload Configuration’ 팝업창이 다시 뜨게 되는데, 이 창은 Workload를 클릭하여 팝업을 띄울 때와는 달리 하단에 ‘Run’ 버튼이 추가로 있는 것을 보실 수 있습니다.(이 화면에서도 Workload 설정이 가능하므로, 설계단계에서 ‘Run Test’ 기능의 활용이 가능합니다.)

Silk Performer

사용하고자 하는 Workload가 정상적으로 설정되어 있는지 최종 점검하기 위해, Workload, Agent, Pacing 각 Tab 및 왼쪽 하단의 Configure All Day Workload를 클릭하여 모두 계획대로 반영되어 있는 것을 확인한 후, 하단의 Run 버튼을 클릭합니다.

2) New Results Files Subfolder

Run 버튼을 클릭하면, 실행 결과를 저장하기 위한 Subfolder 이름을 지정하는 팝업이 뜨는데, 여기에 원하는 폴더명을 기입해줍니다. 폴더명에는 현재 실행하고자 하는 테스트 시나리오 유형과 수행 회차 정보 등을 스스로 쉽게 구분할 수 있도록 표기해 주면, 나중에 누적된 여러 결과들 중에서 원하는 것을 찾아서 정리할 때 편리합니다. (ex.TS-02-COMPLEX-500usr_1st, TS-03-COMPLEX-STR_20200507_8th 등)

Silk Performer

해당 결과 파일은 문서(Documents) 폴더 하위의 아래와 같은 경로에 저장되며, Project별로 매 수행시마다 Subfolder를 각각 생성한 후 해당 결과 파일들을 구분하여 저장하게 됩니다. (ex. C:\Users\Administrator\Documents\Silk Performer 20.5\Projects\TechBlog)

Silk Performer

2. Monitor

위에서와 같이, Subfolder 명을 기입하고 OK 버튼을 클릭하면 바로 성능 테스트가 수행됩니다. 수행과 동시에 뭔가 정신없이 여러 화면들이 동시다발적으로 뜨는 것처럼 보여지는데, 자세히 보면 Silk Performer Workbench 화면에서 ‘Monitor’ Tab이 실행되고, 그 위에 ‘All Day Workload Progress Monitoring’이란 팝업이 띄워지고, ‘Silk Performance Explorer’란 새창이 함께 띄워지면서 내부에 여러 세부 화면들이 나타납니다.

Silk Performer

1) All Day Workload Progress Monitoring

첫번째로, All Day Workload Progress Monitoring 팝업창은, 우리가 설계했던 Workload에 따라 가상 사용자(VUser)의 증가, 유지, 감소하는 현황을 표시해줍니다.

Silk Performer

노란색 막대가 시간의 흐름에 따라 왼쪽에서 오른측 방향으로 계속 이동하면서 표시되기 때문에, Workload 계획대비 현재의 진행상태(ex. Ramp up이 끝났는지, 부하가 지속중인지, 남은 시간은 어느정도인지 등)를 간단히 파악할 때 유용합니다. 불필요한 경우 X를 눌러 제거 후 Monitor Tab 화면 위주로 보다가, 필요시 Monitor Tab 하단의 아이콘(All Day Workload Progress Monitoring)을 클릭하여 다시 띄울 수 있습니다.

2) Silk Performance Explorer

LoadRunner를 쓰다가 Silk Performer를 처음 쓸때, 당황하게 되는 화면 중 하나입니다. 실시간 모니터링 정보를 제공하는 그래프 디자인이 상당히 오래전에 만든 것처럼 보입니다.

Silk Performer

기본적으로, Running Users, Hits/sec, Errors 등의 정보를 그래프로 제공해주긴 하지만, 메인화면인 Monitor tab 화면과 한 화면에 통합되어 있지 않아 각각의 창을 번갈아서 보기도 불편한 측면이 있습니다. 또한, 이 자체 구동만으로도 Controller PC의 자원이 소모되는 이슈도 있어서 대개는 해당 브라우저는 꺼 놓은 채로 성능 테스트가 수행되는 경우가 많습니다. 성능 테스트 수행 현황 공유라는 대시보드 측면에서는 아쉬운 부분입니다.

참고로, 성능 테스트 수행 중 실시간 모니터링 및 분석 정보 제공에 대한 대시보드 역할은, 아래 화면과 같이 별도의 와탭(WhaTap)과 같은 전문 APM 도구가 담당하고 있습니다. 성능 테스트 수행시, WAS 전문가가 참여하여 APM 도구를 기반으로 종합적인 부하 현황 모니터링 및 병목 현상에 대한 실시간 분석 작업을 수행합니다. 동시에 APM 화면은 빔프로젝터 또는 웹화면 동시접속을 통해 공유가 됨으로, Silk Performer의 대시보드 공유로서의 부족한 부분을 보완해 주고 있습니다.

Silk Performer

3) Monitor

최초 실행 시 동시에 띄워졌던 두개의 창들을 끄고 나면, 본 화면인 Silk Performer Workbench의 ‘Monitor’ Tab에서 부하 진행현황을 표시해주고 있는 것을 보실 수 있습니다.

Monitor Tab은 스크립트 작성시에도 사용하고 있기 때문에, 우측 화면 구조에 대해 잠시 Micro Focus의 설명을 참고해 보겠습니다.

Silk Performer

  • Project Menu Tree: Contains all of your project assets, including one or more profiles and test scripts, a workload, agent computers, and data files.

  • Monitor/Script Window: The Monitor page provides real-time information about the progress of your load test. The displayed columns depend on the application type of your project and can be customized by right-clicking either the Summary or the User list box on the Monitor page and choosing Select Columns. The selected columns are saved per project.

  • Output Window: Displays status messages, such as errors, warnings, and other information, when you perform the following actions: • Compile a script – The Compiler page displays compiler messages, including errors and warnings. • Run a test – The Virtual User page displays messages related to the actions of a virtual user in a test, such as transaction information and time measures. The Simulation Controller page displays

    Source: https://www.microfocus.com/documentation/silk-performer/205/en/silkperformer-205-workbenchhelp-en.pdf

우리가 생성한 실행 예시 화면을 기준으로 다시 설명해보면, 우측 상단 창에서는 User Groups, Agent Monitors, Virtual Users 등과 관련한 기본정보가 제공됩니다. 그 아래 창에서는, 우리가 스크립트 작성시 TMain 구간을 식별 가능한 이름으로 변경해 놓았던 것이(ex. A01_MainPage, A02_Login 등) Transaction별로 표시 됩니다. 마지막으로, 하단 창에서는 각 Transaction별로 부하상황에서 세부적인 처리 정보 및 결과들이 보여집니다. 이를 통해 대상 업무들이 정상적으로 처리되고 있는지, 또는 오류 현상이 발생하는지 등을 실시간으로 파악할 수 있습니다.

Silk Performer

다만, 아쉬운 점은 TMain 구간 내에 세부적으로 응답시간 측정을 위해 우리가 Start Timer, Stop Timer 기능을 이용하여 설정해 놓은 구간들의 응답시간들은 보여주지 않는다는 점입니다. TMain 구간 전체에 대한 응답시간 정보만 실시간으로 보여주기 때문에, 세부 응답시간별로 성능목표 달성여부를 파악하기 어렵습니다. 이를 위해서는, 성능 테스트가 종료된 후 결과 파일을 열어본 후에야 상세 확인이 가능합니다.

참고로, LoadRunner Controller의 경우에는 성능테스트의 실시간 진행상황 정보에 대해, 상세 수준별로 확인 가능한 종합적인 대시보드를 구성하여 제공하고 있습니다.

Silk Performer

실시간 모니터링에 대한 충분한 수준의 가시성 및 컨트롤 기능을 제공하기 때문에, 부하지속 또는 (필요시) 중단에 대한 종합적인 판단 및 빠른 결정이 수월합니다.(ex. 가상 사용자의 Ramp Up이 정상적으로 진행되는지, 세부 Transaction별로 평균 응답시간은 목표수준 이내로 유지되는지, TPS는 안정적으로 목표 수준을 유지하는지, 이슈 발생 시 세부적으로 어떤 Error 또는 Fail 상태인지 등)

그래서, 성능 테스트 현장에서 LoadRunner를 사용하는 경우에는, 부하지속 상황에서 Controller 화면을 고객 또는 PJT 담당자들과 함께 빔 프로젝터로 띄워 보면서 현황을 설명하고 실시간 공유하는 케이스가 많은 편입니다. 반면, Silk Performer를 사용하는 경우에는 성능 담당자 컴퓨터에서만 현황을 모니터링하고, 고객 및 PJT가 함께 공유하는 화면은 와탭(WhaTap)과 같은 APM 도구를 활용하는 경우가 많은 것 같습니다.

이야기가 잠시 옆으로 빠지긴 했는데, 계획된 성능테스트가 시간에 따라 수행되고 정상 종료되면, Silk Performer의 ‘Analyze Load Test’ 기능을 통해 바로 결과 분석이 가능하게 됩니다.

Silk Performer의 테스트 실행에 대한 설명은 여기까지로 마치고, 다음 글에서는 수행한 결과에 대해 분석하는 방법에 대해 이어서 설명하도록 하겠습니다.

[끝]