DBMS 2

DA, SQL, DB보안 등 실무자를 위한 위한 DB기술 바이블!

성능 구성 마법사의 사용

DBMS 2
DB2 가이드
DB2 성능가이드
성능 구성 마법사의 사용
작성자
admin
작성일
2021-02-19 15:05
조회
1020

성능 구성 마법사의 사용

성능 구성 마법사는 새로운 DBA이거나 가끔씩 데이터베이스를 관리하는 사람에게는 구성 매개변수들을 조정하기 위한 매우 유용한 툴이다. 경험있는 DBA라 하더라도 새로운 데이터베이스를 생성할 때 이 툴을 사용할 것을 추천한다. 즉 데이터베이스 관리자와 데이터베이스 구성 매개변수들의 기본 값 대신 권장 값을 가지고 시작할 수 있다.

성능 구성 마법사에서는 인스턴스당 하나의 데이터베이스가 필요로 하는 메모리 할당과 성능 조정을 구현하여 모든 구성 매개변수값들을 최대 성능을 위한 최적의 값으로 직접 변경하거나 변경을 위한 값들을 제시한다. 다수의 구성 매개변수들은 기본 값을 가져도 무방하지만, 데이터베이스의 최적의 성능을 보장하려면 성능 조정을 통한 해당 매개변수들의 갱신이 불가피하다. 대체로 성능 구성 마법사에서 추천되는 값들은 작업의 워크로드와 특정 서버에 대한 정보를 통한 성능 조정이므로 구성 매개변수들이 기본 값일 때보다 보다 향상된 성능을 제공한다. 그러나 이 값들은 데이터베이스 성능을 최적으로 만드는 값이라기 보다는 최적의 성능을 구현하기 위한 출발점이 되는 값들이라고 볼 수 있다.

성능 구성 마법사를 사용하는 방법은 다음과 같다.

1. 제어센터에서 성능 구성을 하고자 하는 데이터베이스를 선택한 다음 마우스의 오른쪽 버튼을 누르 면 팝업 메뉴가 나타난다. 이 팝 업메뉴에서 "마법사를 사용한 성능 구성"을 선택한다. 성능 구성 마 법사 소개 페이지(그림 1)에서는 구성하고자 하는 데이터베이스에 대한 정보를 보여준다.

그림 1. 성능 구성 마법사의 소개 페이지


그림 1. 성능 구성 마법사의 소개 페이지

2. 각 페이지를 통해, 필요한 정보를 변경한다. 성능 구성 마법사는 제공한 각각의 값을 기반으로 데이 터베이스 관리자와 데이터베이스 구성 매개변수의 값을 계산하고 적당한 값을 제공한다. 성능 구성 마법사는 7 페이지로 구성된다. 각 페이지에서 값을 입력하거나 선택한다.

서버 페이지(그림 2)에서 데이터베이스에서 사용될(운영체제에서 사용되는 부분은 제외)서버의 메 모리(RAM)의 양을 슬라이더를 이용하여 지정한다. 만약 다른 응용 프로그램이 서버에서 수행된다 면, 데이터베이스에서 사용될 서버의 메모리(RAM)의 양을 나타내는 슬라이더를 100%이하이어야 한다.

그림 2. 성능 구성 마법사의 서버 페이지


그림 2. 성능 구성 마법사의 서버 페이지

3. 워크로드 페이지(그림 3)에서 데이터베이스 워크로드 유형에 대한 옵션을 선택한다.

그림 3.  성능 구성 마법사의 워크로드 페이지


그림 3. 성능 구성 마법사의 워크로드 페이지

4. 트랜잭션 페이지(그림 4)에서 데이터베이스에 최대로 반영되는 하나의 UOW 에서의 SQL문 갯수의 근사치를 지정한다. 또한 데이터베이스내의 분당 트랜잭션의 수를 추산한다. 만약 정확한 값을 모른 다면 마법사에서 제공하는 기본 값을 사용한다.

그림 4.  성능 구성 마법사의 트랜잭션 페이지


그림 4. 성능 구성 마법사의 트랜잭션 페이지

5. 우선순위 페이지(그림 5)에서 데이터베이스를 복구하는 데 필요한 시간 또는 트랜잭션 성능 중 어 느 것을 최적화시키는 것이 중요한 지를 결정한다.

그림 5.  성능 구성 마법사의 우선순위 페이지


그림 5. 성능 구성 마법사의 우선순위 페이지

6. 데이터 상주화 페이지(그림 6)에서 데이터베이스는 실제 사용중인 데이터인지 아닌지를 나타낸다. 만약 해당 데이터베이스가 신규 데이터베이스이면, 데이터를 삽입한 다음 마법사를 재수행한다.

그림 6.  성능 구성 마법사의 데이터 상주화 페이지


그림 6. 성능 구성 마법사의 데이터 상주화 페이지

7. 연결 페이지(그림 7)에서 해당 데이터베이스에 연결되어 사용되는 응용 프로그램의 수를 추산한다. 국지 및 원격 응용 프로그램들의 수에 대한 근사치를 지정한다.

그림 7.  성능 구성 마법사의 연결 페이지


그림 7. 성능 구성 마법사의 연결 페이지

8. 분리 레벨 페이지(Isolation Level, 그림 8)에서 응용 프로그램이 최대로 반영하는 분리 레벨을 선택 한다. 이러한 분리 레벨은 사용자가 데이터를 읽거나 갱신할 때 잠긴 행(Locked Row)의 수와 잠긴 기간(Lock Duration)을 결정한다. DB2는 데이터베이스를 동시 사용중인 트랜잭션들에 대해 데이터 무결성(현실세계와 데이터베이스에 입력된 데이터의 일치성)을 보장하기 위해 잠금(Locking)을 사 용한다. 이 잠금(Locking)은 한 트랜잭션이 완전히 끝날 때까지 해당 데이터베이스에 대한 제어를 유지할 수 있도록 한다. 즉 진행중인 갱신 트랜잭션이 완전히 끝나기 전에 다른 응용 프로그램이 해 당 행을 변경하는 것을 방지한다.

다음의 분리 레벨들중 하나를 선택한다.


  • 만약 다수의 긴 잠금을 갖는다면, "반복가능 읽기(Repeatable Read)"를 선택한다.
  • 만약 소수의 긴 잠금을 갖는다면, "읽기 안정성(Read Stabiity)"를 선택한다.
  • 만약 다수의 짧은 잠금을 갖는다면, "커서 안정성(Cursor Stability)"를 선택한다.
  • 만약 잠금을 사용하지 않으면, "미확약 읽기(Uncommitted Read)"를 선택한다.

그림 8.  성능 구성 마법사의 분리레벨 페이지


그림 8. 성능 구성 마법사의 분리레벨 페이지

9. 결과 페이지(그림 9)에서 성능구성에 대한 추천값을 검토할 수 있다. 임의의 값을 변경하려면 변경 할 이전 페이지로 되돌아가야 한다. 결과 페이지에서 변경된 값을 직접 적용시키거나 나중에 스크립 트 센터에서 수행할 스크립트 파일로 저장할 수 있다. 구성 매개변수에 변경될 값들이 적절하다고 생각되면 "완료" 버튼을 클릭한다. 이때 성능 구성 마법사는 데이터베이스 관리자와 데이터베이스 구성 매개변수에 적절한 값을 계산한다. 그림 9는 각 구성 매개변수의 현재 값과 제안된 값들을 보 여준다. 이 권장 값들은 즉시 적용하거나 추후 적용하기 위해 스크립트 센터로 저장할 수 있다.

그림 9.  성능 구성 마법사의 결과 페이지


그림 9. 성능 구성 마법사의 결과 페이지

데이터베이스 구성 매개변수의 갱신을 적용시키려면, 모든 응용 프로그램을 해당 데이터베이스로부터 끊어 버리고, 그 데이터베이스로의 최초의 재연결할 때부터 구성 매개변수의 변경된 값이 적용된다. 데이터베이스 관리 프로그램 구성 매개변수(DB2 인스턴스의 구성변수)의 갱신된 값을 적용시키려면 DB2 인스턴스를 정지하고 재시작해야 한다.

데이터베이스 크기가 상당히 증가(예를 들면, 20% 이상의 데이터베이스의 크기의 증가)하거나 기계 특성이 변경(예를 들면, 더 많은 메모리의 사용이 가능)되면 성능 구성 마법사를 재수행한다. 그 이유는 이러한 데이터베이스 크기의 증가나 시스템에 메모리를 추가하는 것은 성능 변수의 값의 권장 값을 상당히 변화시키기 때문이다.