방법론 튜닝, 일반적인 개선, 모니터링, 튜닝
요약: AIX® 버전 5.3에서 성능 튜닝 기법을 이해했다는 생각이 들자마자, AIX 6.1이 커브볼을 던지며 바로 따라붙고 말았습니다. 이 기사에서는 CPU, 가상 메모리, I/O(디스크와 네트워크)를 포함해 AIX 6.1에서 최근에 성능 모니터링과 튜닝에 가해진 따끈따끈한 변경 사항을 짚고 넘어가겠습니다. 이 중 상당수는 실제로 커널 자체 변화라기보다는 실생활에서 자료 처리를 좀더 정교하게 반영하기 위한 기본 매개변수 변경과 같은 부수적인 변화였습니다. 다른 변경 사항은 특정 하위 시스템에 대한 다양한 개선과 제한적인 조율값, 조율값 문서화를 포함합니다. 이 기사를 통해 여러분은 튜닝 전략의 일부로 필요한 성능 튜닝 방법론에 대해 여러 가지를 배울 것입니다.
AIX® 6.1에는 다음과 같은 중요한 새로운 기능과 개선 사항이 포함되었다.
- 가상화: 작업 부하 파티셔닝과 라이브 애플리케이션 모빌리티와 같은 기능
- 보안: 암호화된 파일 시스템, 신뢰할 수 있는 AIX, 역할 기반 접근 제어(RBAC, role-based access control) 같은 기능
- 가용성: AIX 동시 갱신과 동적 추적과 같은 기능
- 관리성: 신형 시스템 디렉터 콘솔과 작업 부하 파티션 관리자와 같은 기능
또한 SMT(simultaneous multithreading), 공유된 전용 프로세서, 가변 페이지 크기와 같은 POWER6에서 제공하는 성능 확장을 위한 신기능을 지원한다. POWER6나 AIX 6.1이 등장하면서 반영된 새로운 기능과 개선 사항을 완전히 이해하는 과정이 중요하다. 예를 들어, 순수한 운영체제 관점에서 바라보면 AIX는 다음에 요소에 대한 기본 조율값을 강화했다.
-
vmo
-
ioo
-
aio
-
no
-
nfso
-
schedo
I/O 페이싱(pacing)과 AIO 서버 구현 같은 AIX 6.1에서 좋아진 몇 가지 진짜 성능 향상을 제외하고는, 깜짝 놀랄만한 기능 개선은 없다. 사실상 (새로운 감시 도구, VMM(Virtual Memory Manage) 설정 방법, 동시 I/O 개선을 포함한) AIX 5.1에서 AIX 5.2, 5.3으로 옮겨가면서 일어난 성능 변화가 AIX 5.3에서 AIX 6.1로 옮겨가면서 일어난 성능 변화보다 훨씬 더 범위가 넓다. (I.E.와 aioo 같은) 없어진 몇몇 구성요소를 제외하고 AIX 6.1에서 모든 튜닝 명령은 옛날 상태 그대로다. 작업 부하 파티셔닝 기능을 지원하기 위해 변경된 유틸리티는 다음과 같다.
- curt
- filemon
- iostat
- netpmon
- pprof
- procmon
- proctree
- svmon
- topas
- tprof
- vmstat
WPAR(Workload partition)을 이용하면 AIX 이미지 하나에 독립적인 가상 파티션을 사용할 수 있다. WPAR은 LPAR(Logical partition)을 대체하기보다는 보완하는 기능이다. 실제로 WPAR은 LPAR 내부에서 동작하며, 솔라리스 컨테이너와 아주 비슷한 개념이다. WPAR 생성에는 15분도 채 안 걸린다. 실제로 WPAR 내부를 분석해 보면 이제 WPAR을 지원하는 개선된 몇몇 도구를 확인할 수 있다. WPAR은 AIX 6.1만 있으면 되며, POWER6는 필요하지 않다. 몇몇 명령어는 WPAR에서 다르게 동작하거나 동작이 불가능한 경우도 있다. 여기서 관련된 명령 몇 가지를 소개하겠다. 다른 AIX 6.1 성능 개선은 조율값 문서화와 제한적인 조율값을 포함한다.
이 절에서는 시스템을 튜닝하기 위해 사용해야 하는 튜닝 기법을 요약한다. 이런 방법론을 사용해야만 하는 강제 조항은 없으며 다른 방법론도 많이 나와있지만, 어떻게 되었거나 튜닝 방법론이나 구조적인 프로그램은 반드시 사용해야 한다.
- 비교 기준 확립
- 스트레스 테스트와 감시
- 병목 확인
- 병목 튜닝
- 반복(2단계부터 시작)
각 단계를 좀더 깊숙하게 알아보자.
- 비교 기준 확립: 튜닝을 수행하고 감시에 앞서, 반드시 기준을 확립해야 한다. 비교 기준은 제대로 동작할 때 시스템이 어떻게 보이는지를 찍어 놓은 스냅 사진이다. 이런 비교 기준은 단순히 성능 관련 유형 통계뿐만 아니라 시스템의 실제 환경(메모리 양, CPU, 디스크)도 문서화해 놓아야 한다. 이렇게 해야 하는 이유는 사용자가 불평할지도 모르는 성능 문제 해결에 앞서 제대로 동작하는 시스템이 무엇인지 알아야 할 필요가 있기 때문이다. 이렇게 하면 수집한 자료를 넘겨 SLA 서비스 계약에 따른 지원을 받는 데 도움을 준다.
- 스트레스 테스트와 감시: 이제 최고 작업 부하 상황으로 시스템에 스트레스를 걸어 감시한다. 여러 감시 도구를 사용해 발견한 내용을 검증해야 한다. 감시 작업이 중요한 이유는 특히 스트레스가 주어진 상황에서 시스템에서 어떤 일이 일어나고 있는지 정확한 역사적인 기록이 없으면 효과적인 튜닝이 불가능하기 때문이다.
- 병목 확인: 시스템에 스트레스를 주고 감시하는 이유는 병목 지점을 찾기 위해서다. 적절한 진찰 없이는 올바른 약을 처방하지 못한다. 시스템이 실제로 CPU에 묶여 있다면 trace, curt, splat, tprof, ps와 같은 추가 도구를 돌려서 병목을 초래하는 진짜 프로세스가 무엇인지 확인해야 한다.
- 병목 튜닝: 병목을 찾은 다음에는 튜닝할 시점이 온다. 튜닝은 CPU, 가상 메모리, I/O와 같은 병목 지점에 따라 달라진다. 가상 메모리와 같은 몇몇 하위 시스템은
vmo
같은 도구로 좀더 활동적인 튜닝을 요구하는 반면에 CPU 관련 병목을 치료하려면 작업 부하를 좀더 효율적으로 관리하거나 (DLPAR(dynamic LPAR), 파티션 부하 관리자를 활용해) 더 많은 자원을 시스템에 할당해야 한다. - 반복: 두 번째 과정부터 전체 과정을 다시 한번 반복할 시기다. 튜닝이 정말로 영향을 주는지 확인하려면 테스트를 반복해 일관성있게 감시해야 한다.
이 절은 가상 메모리 하위 시스템에 일어난 변화를 설명한다.
여러 해 동안, AIX의 기본 매개변수에 대한 불평이 끊이지 않았다. 예를 들어 오라클과 같은 업무
수행에 중요한 데이터베이스 응용 프로그램과 같이 AIX 상위에서 사용자가 가장 많이 돌리는 프로그램을 현실적으로 반영하지 못했기
때문에 이런 불평이 터져나왔다. 이런 이유 때문에 시스템 관리자는 대다수 하위 시스템 설정 값을 변경해야 했었다. 대부분 가상
메모리와 관련한 설정이다(쉽게 말해 minperm
과 maxperm
이 주범이다).
IBM®은 고객 목소리에 귀를 기울여 이런 매개변수를 현실에 맞게 조정했다. 하지만 이런 설정값을 곧이곧대로 받아들이면 곤란하며,
항상 ISV와 함께 AIX 6.1이 제안하는 권장 설정값과 변경 사항에 대해 점검해야 한다.
AIX 5.3과 AIX 6.1을 위한 vmo
매개변수를 표 1에
서 나란히 비교해 보았다. 몇몇 매개변수는 이제 제약이 가해진 모드라는 사실이 눈에 들어온다. 가장 중요한 변화는 주소 페이징
관련 내용이며, 시스템에 충분한 메모리가 여분으로 남아있음에도 불구하고 데이터베이스 서버가 끊임없이 계산된 페이지를 스왑 아웃하던
주범이었다. 튜닝과 관련한 직전 기사(참고자료
참조)에서, 이 매개변수를 표에서 지시한 값에 아주 근사하게 변경하도록 권장되었다. 이런 변화는 AIX 5.3 튜닝 권장 열에서
확인하자. 많은 조율값은 이제 특별 매개변수로 바꾸지 못하게 만드려는 시도로 제약을 가해 별도로 구분하고 있다. 전반적으로 vmo
조율값 29개만 경고 없이 바꿀 수 있으며, 30개는 이제 제약이 가해진 조율값으로 변했는데, IBM에서 공식적으로 발표한
내용에 따르면 "IBM 지원 전문가"가 지도하지 않은 상황에서 이런 조율값을 변경해서는 안 된다고 한다. IBM은 초급 관리자가
제약을 가하도록 분류할만큼 충분히 위험한 특정 매개변수를 바꾸지 못하도록 하기 위해 이런 변경을 가했다.
표 1.
vmo
매개변수와 튜닝 권장 목록Type | AIX 5.3 | AIX 5.3 튜닝 변경 권장사항 | AIX 6.1 | 제약이 가해진 |
---|---|---|---|---|
cpu_scale_memp = 8 | 8 | 8 | Yes | |
data_stagger_interval = 161 | 161 | 161 | Yes | |
defps = 1 | 1 | |||
force_relalias_lite = 0 | 0 | 0 | ||
framesets = 2 | 2 | 2 | 더 이상 유효하지 않음 | Yes |
htabscale = n/a | n/a | n/a | Yes | |
kernel_heap_psize = 4096 | 4096 | 4096 | ||
kernel_psize = 4096 | 4096 | 65536 | Yes | |
large_page_heap_size = 0 | 0 | 0 | Yes | |
lgpg_regions = 0 | 0 | 0 | ||
lgpg_size = 0 | 0 | 0 | ||
low_ps_handling = 1 | 1 | 0 | ||
lru_file_repage = 1 | 1 | 0 | 0 | Yes |
lru_poll_interval = 10 | 10 | 10 | Yes | |
lrubucket = 131072 | 131072 | 131072 | Yes | |
maxclient% = 80 | 80 | 90 | 90 | Yes |
maxfree = 1088 | 1088 | 1088 | ||
maxperm = 598781 | 598781 | 442683 | ||
maxperm% = 80 | 80 | 90 | 90 | Yes |
maxpin = 635249 | 635249 | 423471 | ||
maxpin% = 80 | 80 | 80 | ||
mbuf_heap_psize = 65536 | 65536 | 64436 | Yes | |
memory_affinity = 1 | 1 | 1 | Yes | |
memory_frames = 786432 | 786432 | 524288 | ||
memplace_data = 2 | 2 | 2 | ||
memplace_mapped_file = 2 | 2 | 2 | ||
memplace_shm_anonymous = 2 | 2 | 2 | ||
memplace_shm_named = 2 | 2 | 2 | ||
memplace_stack = 2 | 2 | 2 | ||
memplace_text = 2 | 2 | 2 | ||
memplace_unmapped_file = 2 | 2 | 2 | ||
mempools = 5 | 5 | |||
minfree = 960 | 960 | 960 | ||
minperm = 149694 | 149694 | 14756 | ||
minperm% = 20 | 20 | 5 | 3 | |
nokilluid = 0 | 0 | 0 | ||
npskill = 3072 | 3072 | 3072 | ||
npsrpgmax = 24576 | 24576 | 8192 | Yes | |
npsrpgmin = 18432 | 18432 | 6144 | Yes | |
npsscrubmax = 24576 | 24576 | 8192 | Yes | |
npsscrubmin = 18432 | 18432 | 6144 | Yes | |
npswarn = 12288 | 12288 | 12288 | ||
num_spec_dataseg = 0 | 0 | 0 | Yes | |
numpsblks = 393216 | 393216 | 393216 | ||
page_steal_method = 0 | 0 | 1 | Yes | |
pagecoloring = n/a | n/a | |||
pinnable_frames = 675516 | 675516 | 349814 | ||
pta_balance_threshold = n/a | n/a | |||
relalias_percentage = 0 | 0 | 0 | ||
rpgclean = 0 | 0 | 0 | Yes | |
rpgcontrol = 2 | 2 | 2 | Yes | |
scrub = 0 | 0 | 0 | ||
scrubclean = 0 | 0 | 0 | Yes | |
soft_min_lgpgs_vmpool = 0 | 0 | |||
spec_dataseg_int = 512 | 512 | 512 | Yes | |
strict_maxclient = 1 | 1 | 1 | Yes | |
strict_maxperm = 0 | 0 | 0 | Yes | |
v_pinshm = 0 | 0 | 0 | ||
vm_modlist_threshold = -1 | -1 | -1 | Yes | |
vmm_fork_policy = 1 | 1 | 1 | Yes | |
vmm_mpsize_support = 1 | 1 | 2 | Yes | |
vmm_default_pspa | -1 |
새로운 vmo
플래그인 -F
는 제약이 가해진 매개변수는 물론이고 모든 매개변수를 제공한다. 여기 소개하는 내용 대다수는 불필요한 부분을 쳐내고 제약이 가해진 부문을 포함하는 샘플만 정리해놓았다(Listing 1 참조).
Listing 1.
vmo
에 -F
플래그를 붙여서 모든 조율값을 살펴본다
|
심지어 제약이 가해진 조율값도 변경이 가능하다. 변경을 할 때 강력한 경고 메시지를 받게 된다(Listing 2 참조).
Listing 2. 변경 과정에서 등장하는 조율값 경고
|
다시 부팅한 다음에 매개변수를 바꿀 때, 한 번 더 경고가 나오면서 정말로 이런 변경을 가해도 될지를 확실하게 확인해달라는 요청이 들어온다. 물리적으로 "yes"라고 입력해야만 변경이 반영된다(Listing 3 참조).
Listing 3. 제약이 가해진 조율값: yes라고 답해야 변경이 가능하다.
|
두드러지게 가장 중요한 변화는 다음과 같은 새로운 성능 값을 조정하는 항목이다.
-
minperm
-
maxperm
-
maxclient
-
strict_maxclient
더 이상 strict_maxclient
를 끄고, minfrree
와 maxfree
를 증가시키고 minperm
, maxperm
, maxclient
를
줄일 필요가 없어진 AIX 5.3에서 처음으로 등장한 변화에 기초를 두고 있다. (이제 AIX 6.1에 기본 값으로 통합된)
새로운 권장 값은 작업 저장소를 페이지로 관리하지 않고 단순히 파일 페이징으로 고려하도록 만들기 위해 페이지 변경 비율 검사
항목인 lru_file_repage
를 꺼버린다. AIX 6.1에서 VMM 대체 기본값은 계산된 페이지를 파일 페이지보다 선호하도록 파일 캐싱을 위한 실제 메모리를 90%까지 활용하도록 바뀌었다. 활성 가상 메모리가 실제 메모리 크기의 97%가 되지 않은 이상 minperm
은 3%로 줄어들어(Listing 4 참조) 계산된 페이지를 더 이상 훔치지 않도록 만들어준다.
Listing 4.
minperm
이 3%까지 줄어든 모습
|
몇몇 변경 내역은 WPAR에서 동작하지 않을 것이다. WPAR은 LPAR의 부분집합이며, 여전히 단일 운영체제 이미지의 일부다.
또 다른 중요한 변화는 VMM 동적 페이지 크기 지원(VPSS)이다. 페이지는 길이가 고정된 자료
블록이며 가상 메모리에 위치한다. AIX 6.1(POWER6 프로세서에만 해당한다)에서, VMM은 이제 동적으로 응용 프로그램
메모리 사용에 기반을 두고 더 큰 페이지 크기를 활용할 수 있는데, 미묘하지만 성능 개선에 도움을 준다. 이런 기능은 응용
프로그램에 완벽하게 투명하다. AIX는 프로세스 메모리 사용을 늘이는 결과를 가져오지 않을 때만 더 큰 페이지를 활용한다. 더 큰
페이지를 사용하면 성능이 개선되는 이유는 하드웨어 변환 과정이 줄어들기 때문이다. 작업 저장소 메모리에서만 이런 기능을 지원하며
영구 저장소 메모리에는 해당하지 않는다. 새로운 매개변수는 vmm_default_pspa
다(vmm_mpsize_support
조율값과 함께 동작한다).
Listing 5.
lsattr
결과는 프로세서 아키텍처를 보여준다.
|
VPSS를 위한 조율 설정 값을 살펴보자.
Listing 6. POWER5 시스템에서 VPSS는 자동으로 비활성화된다.
|
이 절은 CPU 하위 시스템에 가해진 변경 사항을 살펴본다.
schedo
역시 페이지 부하 조절과 같은 특정 메모리 기능을 튜닝하기 위해
사용하지만, 대부분 CPU 스케줄러 튜닝이 더 중요하다. AIX 6.1에서 조율값 42개 중 27개만 제약이 가해져 있으며,
조율값 15개는 명시적인 경고 없이 변경이 가능하다. 비록 몇몇 기본값은 변경되었지만, AIX 6.1에서 CPU를 감시하고
튜닝하기 위해 일어난 변화는 많지 않다(Listing 7 참조).
Listing 7. 제약이 가해진 조율값
|
이 절은 디스크 I/O 하위 시스템에 가해진 변경 사항을 살펴본다.
AIX 6.1에서 ioo
로 조절할 수 있는 조율값 48개에는 이제 제약이 가해졌고, 조율값 21개는 명시적인 경고 없이 변경할 수 있다. 가장 중요한 변경 내역은 I/O 페이싱과 AIO 동적 조율값이다(Listing 8 참조).
Listing 8. 제약이 가해진
ioo
조율값
|
JFS2(Enhanced Journaling File Syste)를 변경한 결과, 이제 JFS2 파일
시스템을 로깅 없이 마운트하도록 허용한다. 이렇게 하면 성능을 약간 개선할 수 있지만 권장하지는 않는다. 자료를 복구할 필요가
있을 때 무시무시한 fsck
를 돌려야 한다. fsck는 저널링 파일 시스템이 등장한 이후로 기억 속에서
사라져 버렸다. 하지만 백업에서 자료를 복구하거나 아주 짧은 기간 동안 활동 과정에서 시간을 절약해야 하는 몇몇 유용한 상황에서
fsck는 문제가 되지 않는다.
대상 소프트웨어 드라이버는 기가바이트 이더넷 어댑터 위에서 동작하므로 이런 환경에서 동작할 경우 확실한 성능 개선이 이뤄졌다. 대상 드라이버는 지역 디스크나 논리 볼륨을 iSCSI 요청자에게 공개해 iSCSI 프로토콜을 사용해서 AIX에 연결하도록 만든다. iSCSI가 확산됨에 따라 광 기반 저장장치를 넘어서 확실한 대체품으로 자리잡았으며 중요한 발전을 가져왔다.
디스크 I/O 페이싱은 파일에 대한 I/O 요청 개수를 제약하는 메커니즘이다. 이렇게 하면 (일반적으로
대규모 연속 쓰기 형태를 보여주는) 디스크 I/O에 밀접한 프로세스가 CPU를 다 차지하는 현상을 막아준다. AIX 6.1은
기본값으로 I/O 페이싱 기능을 활성화해 놓았다. AIX 5.3에서 이 기능을 명시적으로 켤 필요가 있었다. 이렇게 하기 위해 sys0
관련 설정에서 minpout
과 maxput
매개변수를 각각 4096과 8193으로 설정하면 된다.
lpar9ml162f_pub[/] > lpar9ml162f_pub[/] > lsattr -El sys0 |
그림 1.
lsattr
출력은 새로운 I/O 설정을 보여준다.AIO는 AIX 소프트웨어 하위 시스템으로 프로세스가 I/O가 종료되기를 기다리지 않고 I/O 연산을 수행하도록 만든다. I/O 연산과 응용 프로그램 처리가 동시에 진행되므로 두 프로세스는 실제로 배경 작업으로 동작하며 성능 개선을 가져온다. AIO는 특히 데이터베이스 환경에서 중요하다. AIX 하위 시스템에는 두 가지 종류가 있는데, 전용 AIO와 POSIX AIO가 있다. 양쪽 차이점은 응용 프로그램 층에 전달하는 매개변수다. 바꿔 말하면 응용 프로그램이 사용하는 인터페이스에 맞춰 두 가지 구현 중 하나를 선택하면 된다. 어떤 하위 시스템을 선택하거나 상관없이 AIX에서 병렬로 동작한다. AIX 5L에서 응용 프로그램이 AIO를 사용할 경우 하위 시스템은 명시적으로 autoconfig 항목을 활성화해야 한다. 또한 시스템을 재시동해야 하는 이유는 커널 확장을 메모리에 올릴 필요가 있기 때문이다. 실제로 AIX 5.3 TL5 전에 나온 운영체제는 다음에 소개하는 조율값 중 하나라도 바꾸면 재시동이 필요했다.
-
maxreqs
-
maxservers
-
minservers
AIX 5.3에서는 또한 aioo
명령을 사용해 재시동 없이 동적으로 변경이 가능하다. 이 명령은 ODM(Object Data Manager) 속성을 변경하지 않으므로 재시동을 하더라도 영속적으로 옵션을 설정하지 않음에 유의해야 한다.
AIX 6.1에서는 조율값 fastpath
와 fsfastpath
가 이제 제약이 가해진 조율값으로 바뀌었으며 기본값이 1로 설정되어 있다. 속성값에 대한 효과는 다음과 같다(Listing 9 참조).
-
fastpath
: 가공되지 않은 논리 볼륨이 직접 디스크 층으로 전파되록 만드는 AIO 요청 -
fsfastpath
: JFS2에서 병렬 I/O로 열린 파일을 LVM이나 디스크로 전파되도록 AIO 요청
Listing 9. JFS2에서 병렬 I/O로 열린 파일을 LVM이나 디스크로 전파되도록 AIO 요청
|
한걸음 더 나가, AIO 하위 시스템은 이제 기본으로 메모리에 올라오며 활성화되지는 않는다. AIO 하위 시스템은 응용 프로그램이 AIO I/O 요청을 시작할 때 자동으로 활성화된다. 더 이상 aioo
명령이 필요없으며(인생은 짧다), 이제 설정값만 ioo
명령으로 변경할 뿐이다(Listing 10 참조).
Listing 10. 예전 AIX 방법(AIX 5.3)
|
Listing 11은 AIX 6.1에서 제공하는 새로운 방법을 보여준다.
Listing 11. 새로운 AIX 방법(AIX 6.1)
|
또한 더 이상 ODM에 AIO 디바이스가 존재하지 않음에 주의하기 바란다.
살펴보면 알겠지만, aio_active
와 posix_aix_active
라는 새로운 매개변수 두 개가 ioo
에 추가되었다. 이 매개변수는 AIX가 변경하며 AIO 커널 확장을 사용하도록 고정된 상황에서만 1로 설정된다. grep
을 좋아한다면 더 이상 AIO 서버를 찾아 해맬 필요가 없다. 이제 aioLpools
와 aioPpools
를
찾을 수 있는데, 이 둘은 전용 AIO 하위 시스템과 POSIX AIO 하위 시스템을 관리하는 커널 프로세스다. 이렇게 변경된
결과로 인해 고정된 메모리 사용이 줄어들고 시스템에서 돌아가는 프로세스도 줄어들었다. 둘 다 전반적인 시스템 성능에 긍정적인
효과를 가져온다(Listing 12 참조).
Listing 12. 새로운 AIO 커널 프로세스
|
AIO 서버와 밀접한 관련이 있는 minserver
와 maxserver
매개변수는 이제 각 CPU 조율값으로 조율이 가능해졌다. 이런 조율값 변경은 시스템에 있는 가용 서버 숫자를 변경하지 않는다. 전체 변화량은 동시에 수행하는 I/O 요청 숫자와 관련이 있다(Listing 13 참조).
Listing 13.
minservers
와 maxservers
를 위한 기본 매개변수 변화
|
AIX 6.1: 네트워크와 네트워크 파일 시스템(NFS, Network File System) I/O
이 절에서는 NFS를 포함한 네트워크 I/O에 가해진 변경 내역을 정리한다.
133개에 걸친 no
조율값 중 단지 다섯 개만 제약이 가해진 조율값으로 분류되었다(Listing 14 참조).
Listing 14. 제약이 가해진 조율값
|
DNS를 사용해 이름을 풀어낼 때 성능을 높이기 위해 새로운 네트워크 캐시 데몬이 또한 도입되었다.
이 데몬은 SRC(System Resource Controller)에서 시작될 수 있다.
주요 환경 설정 파일은 /etc/netcd.conf이며, /usr/samples/tcpip에서 /etc로 하나를 복사한 다음에 견본으로 사용하자. 데몬을 관리하기 위한 명령은 netcdctrl
이다. 이 명령을 사용해 캐시 내용을 파일로 덤프하거나, 캐시 사용 통계를 출력하거나, 캐시 테이블을 비우거나, 데몬 로깅 단계를 변경한다. Listing 15에 통계 출력 예를 보여준다.
Listing 15. 캐싱 통계를
netcdctrl
로 출력하기
|
R/etc/netsvc.conf 파일에 대한 변경 사항은 없다. 이 파일은 여전히 DNS 이름을 풀어내기 위해 필요하다.
O24개 NFS 조율값 중에 21개가 제약이 가해진 조율값으로 분류된다(Listing 16 참조).
Listing 16. 제약이 가해진 조율값
|
주목할 만한 유일한 변경으로 RFC1323(TCP/IP 스택)이 이제 기본값으로 활성화되었다. 이렇게 되면 NFS 연결을 위해 TCP 접속을 진행할 때 TCP 스케일링 윈도우를 사용한다. 또한 biod
데몬에 대한 기본 숫자가 각 NFS V3 마운트 지점을 위해 32로 늘어났다.
AIX 6.1은 WPAR 활용과 라이브 애플리케이션 모빌리티 같은 많은 신기능을 제공한다. AIX 6.1은 또한 성능 튜닝과 관련해 많은 변화가 있었다. 아주 중요한 몇몇 변화는 실제 자료 처리를 반영한 더 정교한 기본 매개변수 향상, 조율값 문서화, 제약이 가해진 조율값, I/O 페이싱과 AIO 서버 등을 포함한다. AIX 6.1은 정말 환상적이지만 IBM 세상에서 바라보면 AIX 6.1은 새롭게 나온 6.0이다. 기억하겠지만 AIX 5.2는 AIX 5.1보다 훨씬 뛰어나며 더 안정적이었다. 운영체제 판올림에 앞서 모든 사항을 고려해야 하지만 응용 프로그램이 운영체제를 완벽하게 지원할지 새로운 기능이 이주를 할만큼 환경에 기여하는 바가 클지 노심초사하는 바람에 이주를 겁내지는 말자.
교육
- 아래 RSS 피드를 사용해 다음에 나오는 연재 진행 상황을 알 수 있다.
- Optimizing AIX 5L™ performance: Tuning disk performance (Ken Milberg, developerWorks, 2007년 11월)
- Optimizing AIX 5L™ performance: Tuning disk performance (Ken Milberg, developerWorks, 2007년 7월)
- Optimizing AIX 5L performance: Tuning your memory settings (Ken Milberg, developerWorks, 2007년 6월)
- Optimizing AIX 5L performance: Monitoring your CPU (Ken Milberg, developerWorks, 2007년 4월)
- "Use Direct I/O to improve performance of your AIX applications"
(Shiv Dutta, developerWorks, 2002년 11월): 이 기사는 직접 I/O 장점을 소개하고 구현 방법을 설명한다.
-
Improving database
performance with AIX concurrent I/O:
데이터베이스 성능 개선을 위한 추가 정보를 얻으려면 이 백서를 읽어보자.
-
AIX
memory affinity support:
IBM System p™와 AIX 인포센터에서 친화도 관련 정보를 수집하자.
-
IBM 레드북:
Database Performance Tuning on AIX는 시스템 설계자, 시스템 관리자, 데이터베이스 관리자가 AIX에서 최적 성능을 얻기 위해 RDBMS를 설계하고 크기를 갸늠하고 구현하고 유지보수하고 감시하고 튜닝하는 기법을 다루도록 만들어졌다.
-
Test 234: AIX 5L Performance and Systems Tuning:
이 시험은 IBM 인증 프로그램의 일부다.
- "Processor Affinity on AIX"
(developerWorks, 2006년 11월): 스레드에 연결하고 분리하도록 프로세스 친화도 설정을 이용하는
방법은 중단이나 데드락 문제를 해결하기 위한 근본 원인 분석에 도움을 준다. 이 기사는 특정 CPU에서만 동작하도록 프로세스를
제약하기 위해 프로세스 친화도를 사용하는 방법을 다룬다.
- "CPU 모니터링과 튜닝 (한글)"
(2006년 12월): CPU 병목을 찾아내는 과정에서 표준 AIX 도구를 사용하는 방법을 다룬다.
-
IBM 레드북:
AIX 5L 버전 5.3에서 제공하는 성능 감시와 튜닝 도구에 대한 자세한 지침이 필요하다면 AIX 5L Practical Performance Tools and Tuning Guide를 읽기 바란다.
- "AIX 5L Version 5.3: What's in it for you?"
(Shiv Dutta, developerWorks, 2005년 6월): AIX 5L 버전 5.3에서 제공하는 장점을 소개한다.
-
IBM 레드북:
AIX 5.3 Performance Management Guide는 응용 프로그램 개발자, 고객 엔지니어,
시스템 엔지니어, 시스템 관리자, 경험이 풍부한 최종 사용자, 시스템 프로그래머에게 프로세서, 파일 시스템, 메모리, 디스크
I/O, NFS, 자바, 통신과 관련한 평가와 튜닝 방법을 완벽하게 설명한다.
-
IBM이 제공하는 'Operating System and Device Management'는 시스템 백업과 복구, 물리와 논리 저장소 관리, 적절한 페이지 공간 크기 설정과 같은 작업을 수행할 때 선택 가능한 옵션에 영향을 미치는 완벽한 정보를 사용자와 시스템 관리자에게 제공한다.
-
IBM 레드북:
The AIX 5L Differences Guide Version 5.3 Edition은 AIX 5L 버전 5.2와 5.3을 비교해 차이점을 소개한다.
- Ken Milberg가 쓴 다른 기사와 튜토리얼을 살펴보자.
-
AIX와 유닉스:
AIX 시스템 관리와 유닉스 기술을 확장하기 위한 풍부한 정보를 제공한다.
-
AIX와 유닉스 초보자:
AIX와 유닉스에 대한 정보는 "AIX and UNIX 입문 (한글)" 페이지를 방문한다.
-
AIX 위키:
AIX 관련 기술 정보를 위한 협력 환경
- 주제별 AIX와 유닉스 라이브러리 검색
-
사파리 온라인 서점:
특정 기술 자료를 찾기 위한 전자 참조 도서관을 방문하자.
-
developerWorks 기술 이벤트와 웹 캐스트: developerWorks 기술 행사와 웹 캐스트 최신 소식
-
포드캐스트:IBM 기술 전문가의 이야기를 듣자.
제품 및 기술 얻기
-
IBM 평가판 소프트웨어:
developerWorks에서 직접 내려받아 다음번 프로젝트에 활용하자.
토론
-
developerWorks 블로그나 공동체에 참여한다.
- AIX와 유닉스 포럼에 참여한다.
Ken Milberg, PMP는 IBM Systems Magazine, Power Systems을 위한 기술 편집자이자 작가다. Milberg는 Unix-Linux Solutions 대표이자 컨설턴트를 관리하고 있다. Milberg는 매릴랜드 대학교 컴퓨터와 정보 과학 학사 과정에 이어 정보 관리 석사 과정을 마쳤다. Milberg는 뉴욕 시 파워-AIX/리눅스 사용자 그룹 발기인이자 그룹 리더다. 여러 해 동안 Milberg는 다양한 규모의 조직에서 일했고, CIO부터 선임 AIX 엔지니어에 이르기까지 다양한 직책을 맡았다. Milberg는 PMI 인증 프로젝트 관리 전문가이며, IBM 인증 첨단 기술 전문가(IBM System p5 2006년)이며, IBM Scon 인증을 획득했다. 연락이 가능한 전자편지 주소는 ken@unix-linux.org다.
'IBM > AIX' 카테고리의 다른 글
AIX IPL progress codes (0) | 2011.03.28 |
---|---|
Programming Language Products for AIX: C and C++ Compilers (0) | 2011.03.28 |
NFS DIO and CIO support (0) | 2010.12.29 |
I/O completion ports error when attempting to set up Domino 6.x on AIX (0) | 2010.12.29 |
Upgrade to IPv6 with IPv4 configured (0) | 2010.11.03 |
GPFS (0) | 2010.10.14 |
FTP (0) | 2010.08.22 |
chmod (0) | 2010.08.21 |
etherchannel (0) | 2010.08.12 |
Storage Management in AIX 5L Version 5.3 (0) | 2010.08.10 |