본문 바로가기

Qlik

Qlik Sense Enterprise Scalability Tools를 이용한 preload

Qlik Sense Enterprise Scalability Tools 을 사용해서 앱을 Preload하는 기능을 만들어 보겠습니다. 앱 사이즈가 작은 것은 별 문제가 되지 않는데 사이즈가 크면 처음 사용자가 클릭 했을때 서버 메모리에 로드 되는 시간이 조금 걸립니다. 처음 앱을 조회 하는 사용자는 대부분 임원이거나 현업 담당자일 경우가 많습니다. 처음 앱을 조회 하는 사용자만 느릴 수 있는데 BI전체가 느리다고 생각을 하는거죠. 대부분 그렇습니다.

이럴 경우 데이터 적재가 끝나면 미리 앱을 한번 오픈 해주면 속도가 빠르겠죠. 그리고 자주 조회 하는 시트도 조회를 먼저 하게 되면 다른 사용자가 조회 할때 빨리 조회 될 겁니다.

 

Qlik Sense Enterprise Scalability Tools이 Preload를 하기 위한 용도외에 성능테스트를 하기 위해서 사용하는 것 같습니다. jmeter기반으로 만든 거라고 하는걸 보면 알 수 있겠죠.

 

이번 글은 Preload기능 위주로 설명 드리겠습니다. 제가 프로젝트를 하면서 적용 해본걸 기준으로 작성 하기는 하는데 잊어 먹은 내용도 있어서 조금 틀릴 수 도 있습니다. 

 

1. Qlik Sense Enterprise Scalability Tools 다운로드 및 설치

    - 다운로드

    - 다운로드가 되지 않으면 구글에서 "Qlik Sense Enterprise Scalability Tools" 로 검색해서 찾아 보시면 나옵니다.

   - 설치는 압축을 풀고 설치하면 됩니다. 특별한 설치 옵션은 없습니다.

 

2. 실행 및 설정

   - 처음 실행한 화면 입니다. 저장한 설정 파일이 있으면 오픈 하면 되고, 신규로 작성을 하려면 New 버튼 클릭

 

   - New 버튼 클릭해서 새로운 Script를 작성 합니다. Qlik Server, Port, Virtual proxy prefix, Header name, Header value를 입력 합니다. header 인증 로그인이  아닐경우 다른 method를 선택 하면 됩니다. 

 

   - 오른쪽 중간에 보면 다음 화면이동 버튼이 있습니다. 이분분은 성능테스트를 위한 옵션인거 같습니다. 다음 시나리오로 이동 합니다.

 

   - Common action에 보면 Qlik에서 사용 할수 있는 actions들이 있는데 이걸 이용해서 앱을 오픈하고, 시트 변경, Delay, Bookmark적용 등을 할 수 있습니다. 원하는 시나리오를 작성하고 저장을 하면 됩니다. 

   - Test connection을 해서 서버와 연결이 되는지 확인을 하면 됩니다.

   - 앱, 시트, 오브젝트등의 ID를 사용해서 사용하면 되고, ID는 QMC, Dev Hub를 이용해서 찾아서 사용하면 됩니다.

 

   - 작성한 시나리오를 저장합니다. 이름이 원하시는 대로 주시면 되고, 한글도 잘 됩니다.

 

 

   - 작성한 시나리오를 이용해서 실행을 해 볼 수 있는데 "Executor" 메뉴를 클릭하고 신규 작성을 합니다.

 

   - Event settings 탭에서 저장한 시나리오 파일을 선택합니다. 그리고 "Start execution" 버튼을 클릭합니다. 에러가 나면 확인을 하고 수정을 하면 됩니다. 정상적으로 실행이 끝나면 Success라고 나오는 것을 확인 하면 됩니다.

 

   - 위의 작성한 내용을 저장 합니다. 

 

 

3. QMC Task나 Windows 작업 스케쥴을 만들어 사용 하면 됩니다. 여기서는 QMC Task에서 데이터 적재가 완료 되면 실행 하기 위한 방법을 설명 드리겠습니다.

   - QMC > Task > External program task를 만들고 path, parameters를 입력하고 선행 Task를 선택 해주면 됩니다.

   - gopherciser 프로그램을 이용해서 작성한 시나리오를 실행 시켜 주면 됩니다.

   - gopherciser이 있는 위치와 시나리오 위치를 확인 합니다.

   - External program task에서 아래 처럼 입력하고 실행 해 보면 됩니다. 실행 하면 서버 메모리 사용량이 올라 가는 것을 확인 할 수 있습니다.

     path : "C:\Users\xxx\AppData\Local\Programs\Qlik Sense Enterprise Scalability Tools\resources\gopherciser"

    parameters : -c "C:\Users\xxx\AppData\Local\Programs\Qlik Sense Enterprise Scalability Tools\test.json"

 

   - Windows 작업 스케쥴에서 사용 하실때는 bat 파일을 만들어서 사용 하시면 됩니다.

     "C:\Users\xxx\AppData\Local\Programs\Qlik Sense Enterprise Scalability Tools\resources\gopherciser" execute -c "C:\Users\xxx\AppData\Local\Programs\Qlik Sense Enterprise Scalability Tools\test.json"