Sun Identity Manager 8.1 릴리스 노트

Procedure단계 4: 프로필러 옵션 설정

이 자습서의 목적을 위해 다음 프로필러 옵션을 지정합니다.

  1. 모드 탭에서 양식, Java, 규칙, 작업 흐름 및 XPRESS 객체를 프로필링할 Java 및 IDM 객체를 선택합니다.

  2. Java 필터 탭을 선택합니다.

    다음 단계에 따라 사용자 정의 Java 클래스(이 경우 org.example.ProfilerTutorialExample)를 제외한 모든 Identity Manager Java 클래스를 비활성화합니다.

    1. 새로 만들기를 누릅니다. 그러면 필터 열의 아래쪽에 새로운 빈 필드가 표시됩니다.

    2. 새 필드에 com.waveset.*를 입력한 다음 제외 확인란을 선택합니다.

    3. 새로 만들기를 다시 누릅니다.

    4. 새 필드에 com.sun.idm.*를 입력한 다음 제외 확인란을 선택합니다.

  3. 확인을 눌러 프로필러를 실행합니다.


    주 –

    프로젝트에서 프로필러를 처음 실행하거나 프로젝트 정리 작업을 최근에 수행한 경우 프로필러가 완료되는 데 몇 분 정도 소요됩니다.


    프로필러가 처리를 마치면 로그인하라는 메시지가 표시됩니다.

  4. 비밀번호로 configurator를 입력하고 비밀번호 저장 확인란을 선택한 다음 확인을 눌러 계속합니다.

  5. Identity Manager 창이 표시되면 로그인합니다.


    주 –

    일반적으로 configurator로 다시 로그인하지 않고 Identity Manager에 다른 사용자로 로그인합니다. 프로필러에 configurator로 이미 로그인되어 있으면 Identity Manager 세션 풀에는 사용자당 하나의 항목만 허용됩니다. 여러 항목을 사용하면 끊어진 세션 풀이 표시되므로 세부적인 성능 문제에 대한 프로필링 결과가 왜곡될 수 있습니다.

    그러나 이 간단한 예제에서는 세션 풀이 중요하지 않으므로 configurator/configurator로 로그인할 수 있습니다.


  6. Identity Manager에서 서버 작업 -> 작업 실행을 선택한 다음 ProfilerTutorialWorkflow1을 누릅니다.

    자습서가 응답하는 데 몇 분 정도 걸릴 수 있습니다.

  7. 지금 스냅샷을 찍을 수 있지만, 여기서는 결과를 재설정하고, 프로필러를 실행하고, 다시 실행한 다음 스냅샷을 찍습니다.


    주 –

    모든 캐시가 준비되고 모든 JSP가 컴파일되도록 스냅샷을 찍기 전에 프로필러를 한 두 차례 실행하는 것이 좋습니다.

    프로필러를 여러 번 실행하면 실제 성능 문제에 집중할 수 있습니다. 이 방법의 유일한 예외는 캐시 자체를 채우는 데 문제가 있는 경우입니다.


    1. Identity Manager IDE에서 IDM 프로필러 보기로 돌아갑니다. 프로필링 결과 섹션 또는 제어 섹션에서 수집된 결과 재설정 아이콘을 눌러 지금까지 수집된 모든 결과를 재설정합니다.

    2. Identity Manager에서 서버 작업 -> 작업 실행을 다시 선택한 다음 ProfilerTutorialWorkflow1을 누릅니다.

    3. 프로세스 그림이 표시되면 Identity Manager IDE로 돌아간 다음 프로필링 결과 섹션에서 스냅샷 찍기를 누릅니다.

  8. Identity Manager IDE에서는 스냅샷을 다운로드하고 창의 오른쪽에 결과를 표시합니다.

    이 영역은 호출 트리 보기입니다. 호출 트리의 맨 위에는 시간 열에 나열되는 시간과 함께 /idm/task/taskLaunch.jsp가 표시되어야 합니다. 전체 요청을 수행하는 데 6초 이상 소요되었다고 시간에 표시됩니다.

  9. /idm/task/taskLaunch.jsp 노드를 확장하고 ProfilerTutorialWorkflow1에 6초가 소요되었는지 확인할 수 있습니다.

  10. ProfilerTutorialWorkflow1 노드를 확장합니다. activity2에 4초가 소요되고 activity1에 2초가 소요됩니다.

  11. activity2를 확장합니다.

    action1에 2초가 소요되고 action2에 2초가 소요됩니다.

  12. action1을 확장하고 <invoke>에도 2초가 소요되었음을 확인합니다.

  13. <invoke>를 두 번 눌러 ProfilerTutorialWorkflow1.xml을 열고 다음 줄을 강조 표시합니다.


    <invoke name=’example’ class=’org.example.ProfilerTutorialExample’/>

    ProfilerTutorialExample 메소드 호출에 2초가 소요된 것으로 표시되어야 합니다.


    주 –

    실제로 프로젝트의 소스 대신 스냅삿에서 캡처된 XML 소스를 찾습니다. 스냅샷이 완전히 자체 포함됩니다. 자세한 내용은 프로필러에서 소스를 찾아 관리하는 방법을 참조하십시오.


  14. CPU:<date><time> 탭을 선택하여 스냅샷으로 돌아갑니다.

  15. <invoke> 노드를 확장하고 프로필러에서 Java ProfilerTutorialExample.example() 메소드에 2초를 소요했음을 확인합니다.

  16. 메소드 이름을 두 번 눌러 ProfilerTutorialExample.java 소스를 열고 다음 줄을 강조 표시합니다.


    Thread.sleep(2000);

    이 줄에 문제가 있습니다. 이 메소드는 2초 스레드 일시 정지를 포함합니다.

  17. 호출 트리로 돌아가면 모든 2초 경로가 이 메소드로 연결됨을 확인할 수 있습니다. 총 6초인 세 개의 경로가 표시되어야 합니다.

  18. 호출 트리 영역의 아래쪽에 있는 핫스폿 탭을 선택하여 핫스폿 보기를 엽니다. ProfilerTutorialExample.example()의 총 자체 시간은 6초입니다.

    핫스폿에 대한 자세한 내용은 스냅샷 보기 작업을 참조하십시오.

  19. ProfilerTutorialExample.example()을 마우스 오른쪽 버튼으로 누르고 팝업 메뉴에서 역 추적 표시를 선택합니다.

    새 역 추적 탭이 영역의 아래쪽에 표시됩니다.

  20. 역 추적 탭에서 ProfilerTutorialExample.example() 노드를 확장하여 이 메소드가 세 개의 위치에서 호출되었고 메소드가 각 위치에서 호출될 때 2초가 소요되었는지 확인합니다.

    역 추적에 대한 자세한 내용은 스냅샷 보기 작업을 참조하십시오.

  21. 프로젝트에 스냅샷 저장 아이콘을 눌러 스냅샷을 저장한 다음 닫습니다.

    IDM 프로필러 탭에서 저장된 스냅샷 섹션을 선택하면 스냅샷이 표시됩니다. 아래로 스크롤해야 할 수 있습니다.

  22. 저장된 스냅샷을 선택한 다음 열기를 눌러 다시 엽니다.


    주 –

    다른 이름으로 저장 버튼을 사용하여 스냅샷을 외부적으로 저장하고, 로드 버튼을 사용하여 프로젝트 외부에서 스냅샷을 로드할 수 있습니다.


  23. 스냅샷을 다시 닫습니다.