SQL 프런티어 컬럼
안녕하세요. 불쥐 입니다.
이번 TechED 에서 진행된 OLAP 환경에서 응용프그램의 설계와 하드웨어는 어떻게 고려 되어야 하는가에 대해서 진행된 Scaling OLTP Applications: Application Design and Hardware Considerat
ions 을 소개 해 볼까 합니다.
세션 링크 : http://www.msteched.com/2010/NorthAmerica/DAT206
원본 영상 다운로드 : http://ecn.channel9.msdn.com/o9/te/NorthAmerica/2010/wmv/DAT206.wmv
원본 PPT : http://ecn.channel9.msdn.com/o9/te/NorthAmerica/2010/pptx/DAT206.pptx
1. OLPT 워크로드 특징
-일반적으로 대부분 현업 실무자들이 사용중임.
-읽기와 쓰기 모두가가능
-고기능의 삽입과 업데이트 가능
-일정한 시간내의 뛰어난 처리 능력 (예 10s K/sec)
-탁월한 처리 능력 (예 1-3 테이블)
-부분 멀티 타스킹 지원 (예 회계용도)
-데이터의 크기 소규모화 실현
2. OLTP application design (OLTP 응용프로그램 설계)
- Visual Studio for Entity Framework 설계를 위한 tools 지원
- Entity Framework 4.0을 통한 개발 함으로써 설계시 편리한점에 대한 소개
Entity Framework 4.0 과 함께 사용 했을 때 어떤 좋은점이 있는지 주저리 주저리 이야기 하고 있습니다.
모델링 툴에 대한 이야기와 인덱스의 대한 가이드 라인 및 SQL Server 환경에서 사용시 좋은점에 대해서
소개 하고 있습니다.
3. Scalability determinants and bottlenecks (병목현상과 확장성이 고려되는 원인)
CPU issues
증상
Plan 재사용 90 이하일 경우
병렬쿼리 wait type cxpacket > 10% of total waits
원인
쿼리 매개변수화 하지 않았을때
잘못된 쿼리 계획 수립으로
저장프로시져 사용을 하지 않았을때
MAXDOP 1로 설정되지 않았을 때
통계 업데이트를 하지 않았을 때
테이블 스캔이나 범위 스캔이 일어 날때
SP 안에서 설정 변경이 일어 났을때
IO issues
증상
초당 평균 디스크를 10msec 이상 읽고 쓰기가 2msec 초 이상
Top 2 values for wait stats are one of - ASYNCH_IO_COMPLETION, IO_COMPLETION, LOGMGR,
WRITELOG, PAGEIOLATCH_x
원인
잘못된 쿼리 계획 수립으로
covering 인덱스가 없을때
OLTP 작업과 DW 작업이 병행 되었을 때
TEMPDB 병목 발생 하였을때
부족한 스핀들
Blocking Issues
증상
평균 행장금 및 Latch 대기가 높을 때
sys.dm_os_wait_stats 를 통해 LCK_x. 확인
원인
높은 잠금 수준
인덱스경함
느린 IO
시퀀스 번호의 문제
Memory Issues
증상
Page life expectancy < 300 secs
SQL Cache hit ratio < 99%
Lazy writes/sec constantly active
메모리 부족
원인
대량의 데이터 스캔
잘못된 쿼리 계획
다른 프로세서로 인한 메모리를 사용할수 없을경우
4. SQL Server 2008 R2 Performance and Scale features (SQL 2008 R2 통한 성능 및 스케일 기능)
-Better query plans
Plan guides
Optimize for Unknown
-Lock escalation hints
-Resource governor
-Transparency and Diagnostics – Xevent, DMV’s
-> 64 thread support
-Dynamic affinity (hard or soft)
-Hot-add CPU support
-Data Compression
-Especially if you have I/O issues
-Partitioning
-Snapshot Isolation, RCSI
-Control Point
5. Scaling Up – Hardware to the rescue
요즘 가장 많이 듣고 있는 NUMA 에 대한 내용과 병목 현상을 최소화 하기 위해 어떻게 하드웨어를 구성해야 하
는지에 대해서 간략하게 소개 되어 있으며 요즘 Disk 및 network 시스템의 구성 및 트랜드에 대해서도 소개 되어 있습니다.
결론은 좋은 응용프로그램은 확장성을 가져야 하며 그 확장성을 위해서는 설계가 얼마나 중요한지 말해 주고 있습니다.

안녕하세요, 김경진입니다. Blog : http://bluejini.kr
SQLER에서 많은 것을 배우고 공유 할수 있었으면 합니다. MSSQL DBA / Microsoft Certified Technology Specialist (SQL 2008)


에공~~~~ 소개 라고 해도 영어실력이 꽝이라.... 잘못된 내용 질책 부탁 드립니다. ^^