02장 - 1일차
CPU Affinity Mask
sql server 2008 r2 이상부터는 64비트 전용
기본적으로 32비트 OS 체제에서, 4기가 메모리다 라고 하면
OS : 2GB / APP : 2GB 가 할당됨.
이걸 OS:1GB / APP : 3GB 로 변경하고 싶으면 boot.ini 파일에 /3GB 옵션 추가해야 함.
만약 8기가 메모리가 꽂혀 있다라고 하면, boot.ini 파일에
/PAE 옵션 추가해줘야 함.
최신 OS에서는.... 수정 안해도 지가 알아서 4기가 이상 액세스 함.
근데 모 수정하고 싶다. 라고 하면,
Windows 2008 부터는 boot.ini 직접 액세스 할 수 없다.
bcdedit 유틸을 사용해야 한다.
그럼 OS는 이렇게 설정하지만, 32비트 프로그램은???
-> AWE 옵션
32비트 어플리케이션이 64비트 OS에서 동작을 잘 하는가?
->동작할 수 있도록 환경 제공 : WOW (Windows on Windows)
기본적으로 sql 서버는 메모리를 동적으로 사용한다. (필요한 만큼)
성능이란? : CPU + I/O
CPU 성능 개선 : 미리 복잡한 계산 컴파일해놓고 갖다쓴다든가.. 이런식?-.-
I/O 성능 개선 : 1. I/O 를 줄인다. -> 인덱스 로 줄인다.
2. I/O를 빠르게 -> RAID (하드디스크의 I/O를 분산시킴) , SSD
시스템 부하 주는 테스트 할 때 로드 러너?
SMP (대칭형 멀티 프로세스)
CPU가 메모리를 동시에 쓰기 때문에 메모리 경합이 발생할 수 있다.
64개 이상(코어?소켓?) 에서는 권장하지 않음.
NUMA (Non-Uniform Memory Access)
멀티프로세스 환경에서 각각의 CPU가 독립된 메모리를 사용할 수 있도록.