View
166
Download
0
Category
Preview:
DESCRIPTION
목차. 회사소개 회사현황 시스템 구성도 SQL Server 사용 로드맵 프로젝트 개요 DB 마이그레이션 대용량 SQL Server 성능 최적화 차후 계획. 회사 소개. 회사명 : ㈜ 인터파크지마켓 대표이사 : 구영배 주소 : 서울특별시 서초구 서초동 1304-3 남서울빌딩 6 층 설립일 : 2000 년 4 월 7 일 자본금 : 36 억 직원수 : 120 명 URL : www.gmarket.co.kr. 1999.12 인터파크 사내벤처 ( 구스닥 팀 ) 로 시작 - PowerPoint PPT Presentation
Citation preview
목차• 회사소개• 회사현황• 시스템 구성도• SQL Server 사용 로드맵• 프로젝트 개요• DB 마이그레이션• 대용량 SQL Server 성능 최적화• 차후 계획
회사 소개• 회사명 : ㈜인터파크지마켓• 대표이사 : 구영배• 주소 : 서울특별시 서초구 서초동 1304-3 남서울빌딩 6
층• 설립일 : 2000 년 4 월 7 일• 자본금 : 36 억• 직원수 : 120 명• URL : www.gmarket.co.kr
회사 연혁• 1999.12 인터파크 사내벤처 ( 구스닥 팀 ) 로 시작• 2000.04 주식회사 구스닥 법인설립• 2000.05 구스닥 상품거래소 오픈 (www.goodsdaq.com)
• 2001.01 구스닥 쇼비즈펀드 오픈• 2001.11 일본 현지법인설립 ( 인터파크 재팬 )
• 2002.04 인터파크 재팬 사이트 오픈 (www.interpark.co.jp)
• 2002.04 해외상품 구매대행 서비스 ‘ OmniverMart’ 오픈• 2002.06 국내 최초 B2M 서비스 개시 (www.ilovehyundai.com)
• 2002.07 구스닥 연구소 설립• 2003.01 회원제 원가판매 ‘제로마진클럽’ 오픈• 2003.06 쇼핑 블로그 ‘미니샵’ 개설• 2004.03 주식회사 인터파크지마켓으로 사명 변경 (www.gmarket.co.kr)
• 2004.12 미국 최대 벤처캐피탈 (Oak Investment Partners) 760 만불 투자 유치
회사 CI
• Goods e-market ( 회사의 내용 )
• Good e-market ( 회사의 성격 )
• Green e-market ( 회사의 역할 )
• Global e-market ( 회사의 비전 )
회사 현황• The Fastest Growing Online Marketplace in Korea• 전자상거래 Top 5 업체 가운데 최소의 자본금으로 시작• 2003 년과 2004 년 순위상승률 , 전자상거래 업계 최고• 분기별 거래액 매 50% 이상 성장• 매월 1% 분야점유율 상승 , 분기별 200% 거래건수 성장• 주요 Metrics ( 2005 년 3 월 기준 ) 일 평균 거래액 : 약 30 억
가입 회원 수 : 340 만명 일 평균 방문객 수 : 75 만명 거래되고 있는 상품 수 : 90 만개 일 거래건수 : 10 만건
Gross Merchandise Volume
97 108 121 138173 189 190
216
275
333
384
430
0
50
100
150
200
250
300
350
400
450
500
04. 2
월3월 4월 5월 6월 7월 8월 9월 10월 11월 12월 05. 1
월
Gross Merchandise Volume
단위 : 억원
※ 월평균 증가율 : 15%
Monthly GMV 2004
네트워크 사용량
월간 네트워크 사용량
135 150 250400
555705 825 855
1015 11501455
1818
2379
2985
0
500
1000
1500
2000
2500
3000
3500
04. 1
월2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월 05. 1
월2월
네트워크 사용량(Mbps)
Performance Index (Rankey.com)
• 국내 인터넷 순위 20 위 (2005 년 3 월 3 째주 )
• Online Marketplace 부문 2 위 (cf. 1 위 – 옥션 )
• 전자상거래 부문 3 위 (cf. 1 위 – 옥션 , 2 위 – 인터파크 , 4 위 – 디앤샵 )
• Online Marketplace 부문 시장 점유율 약 29%
DB 시스템 구성도Public Network
Private Network
HP DL740HP
SupserdomeUNISYSES7000
HPXP128
히다찌TagmaStore
USP
NIC
HBA
FC
Storage Network(FC)
FC
FC
SAN 스위치
스토리지
HP DL740
IBM X440
DB 용도별 구성도
Main DB
정산용 DB
조회용 DB2
조회용 DB1
메일발송용 DB 이벤트용DB
JOB, SP 이용
Log-shipping 이용
선택 접속
• HTML 페이지 생성
• 상품리스트 데이터 생성
• 제휴데이터 생성
• 검색 색인용 데이터 생성
• 각종 조회 업무에 활용
SQL Server 2005(64bit)
SQL Server 2000(64bit)
•가용성 중심•보안•개발자 생산성
•64bit 서버 도입•64GB 이상의 Memory 사용
•고가용성 DB 시스템
•8Way 서버 사용•장애조치 클러스터•로그전달
SQL Server 7.0
•4Way 서버 사용
2000.4 2002.2 2006 년 초 (?)
SQL Server 사용 로드맵
SQL Server 2000(32bit)
2004.8
프로젝트 개요• 64 비트 플랫폼에서 SQL Server 구축• 대상 : G 마켓 메인 DBMS• 기간 : 2004.6 ~ 2004.8 ( 약 3 개월 )• 구축단계
1. 64 비트 플랫폼 구축2. From 32-bit to 64-bit DB 마이그레이션3. Configuration 조정 및 튜닝4. 기존 장비를 활용한 DB 분산
목적• 기존 DB 장비의 CPU, Memory, Disk Resource
부족으로 인한 서비스 처리 지연 문제 해결• 지속적인 사업 확장을 고려한 충분한 하드웨어
확장성 고려• 고 가용성 장비로 교체하여 플랫폼의 안정성 확보• 튜닝과 구조개선을 통한 성능향상 이전에 충분한
하드웨어 Redundancy 확보
성능What 64-bit means to Windows• 더 많은 Physical Memory 지원
– 다수의 Application Instance 탑재 가능 (=consolidation 효과 )– 향상된 Scale-up 지원 (8CPUs 64 or 128 CPUs)
• 어플리케이션에서 사용할 수 있는 더 많은 Virtual memory– Memory 문제로 인한 어플리케이션 성능 Issue 없어짐 .( 예 , SQL 서버 )– PAE/AWE 필요없음
• 향상된 Computing Power– 새로운 아키텍처 (EPIC)– Integer 및 floating register 수 증가 (8 개 128 개 )– EPIC 아키텍처를 지원하는 최적화된 Compiler 지원– OLTP performance 약 2 배의 성능
성능Windows 2003 32bit vs. 64bit
32 bit 64 bit
Virtual address space 4GB 16TB
OS 별 최대 지원 RAM32GB(Ent.)
64GB(Datacenter)
64GB(Ent.)
512GB(Datacenter)
메모리 관련 비교
Physical 4GB 512GB
Virtual 3GB 16,000GB
With PAE/AWE
64GB 필요없음
SQL Server 2000 64bit vs. 32bit
• 설치– Windows Installer 기반– Windows Server 2003 64bit components 에 영향을 받는다– 원격설치를 지원하지 않음
• 기타– 기능 변화– 도구 및 유틸리티 차이– 새로운 기능
• 추가 정보 http://www.microsoft.com/korea/sql/64bit
하드웨어 구성• 서버 (HP Superdome)
– 24 개의 Intel Itanium II 1.5GHz 프로세서– 64GB RAM
– Emulex LightPulse 호스트 버스 어댑터 4 개– 두 개의 파티션으로 분할 , 각 파티션에는 12CPU, 32GB RAM 할당
• 스토리지 (HP XP128)– 15k RPM 72GB 디스크 (RAID 10), 10k RPM 143GB 디스크 (RAID 5)
– Usable 1.8T, 12 GB 캐시– MPIO 기술을 기반으로 한 다중경로 소프트웨어 솔루션인 HP SecurePath 4.0C 를 사용하여 2 개의
호스트 버스 어댑터에 대한 I/O 트래픽 균형 조정
• 스위치– HP StorageWorks SAN 스위치를 이용한 SAN 구성
• 운영체제– 64 비트 Microsoft Windows Server 2003, Datacenter Edition
• 데이터베이스 서버– Microsoft SQL Server 2000(64 bit)
장애 조치 클러스터 구성
hp StorageWorks SAN Switch 2/8
User LAN / Standby LAN / Server LAN
8
2
XP128Usable 2TB (1TB=R10, 1TB=R5))Business Copy 1TB
2
Integrity Superdome-32w (Itanium2 1.5GHz*32ea)
Windows 2003 64bit Data Center Edition
DB 서버 #1 (nPar)12CPU/32GB
DB 서버 #2 (nPar)12CPU/32GB
MS
CS
Heart B
it LAN
스토리지 구성
DB 마이그레이션• 손쉬운 SQL Server 2000 Enterprise Edition(64bit) 으로
마이그레이션• 32bit와 64bit 플랫폼 모두 디스크 상에서 동일한 형식 유지• 작업에 의한 다운타임 최소화 ( Log shipping 이용 )
온라인 상태에서 미리 Backup 및 restore 를 통한 데이터 일치Transaction log backup 을 복원하여 데이터 차이를 좁힘최종 변경 부분을 반영할 시에만 서비스를 중지함데이터 복원이 완전히 이뤄지면 어플리케이션 접속을 신규 서버로
변경하고 서비스 재 개시
• 프론트 엔드 어플리케이션은 성능이 좋아졌다는 것 이외의 다른 차이를 못 느낌
대용량 SQL Server 성능 최적화
디스크 시스템• 외부 디스크에 데이터베이스 설치• RAID 10 : 가장 많이 사용하는 RAID 수준• SQL Server 파일을 분산
– 트랜잭션 로그 파일– Tempdb 파일– 데이터 파일– 인덱스 파일
• 빠른 쓰기 입 /출력 속도로 성능저하가 있을 수 있으므로 특히 트랜잭션 로그 , TempDB 인 경우는 RAID 0 가 좋다 . 디스크 오류 대응까지 고려하면 RAID 10
• 쓰기작업이 많지 않은 경우는 Raid 5 도 무난
TempDB Contention– TempDB 파일을 분리하여 여러 저장소 집합에 분산– TempDB 파일이 존재하는 디스크는 RAID 0
디스크의 활용성과 안정성을 고려할 때 RAID 10– SP 작성시 임시 테이블보다는 테이블 변수를 사용하는 것이 좋고 빈번히 사용되는 SP 일 수록 가능하면 테이블 변수를 사용하지 않고 Query 를 작성하는 것이 좋다
대용량 SQL Server 성능 최적화
대용량 SQL Server 성능 최적화
SMP 조정• affinity mask
- 프로세서와 스레드 간의 연결• max worker threads
- SQL Server 에 사용할 수 있는 작업자 스레드 수• max degree of parallelism
- 병렬 계획 실행에서 사용할 프로세서 수• cost of threshold for parallelism
- 병렬 계획을 만들고 실행하기 위한 임계값
Max Degree of Parallelism– 병렬 계획 실행에 사용할 프로세서 수 제한 ( 최대 32 개 )– 디폴트 값 = 0 사용 가능한 모든 프로세서 사용– 특정 단일 쿼리가 CPU 의 대부분을 사용할 때 문제 발생– Max DOP = 1 인 경우 병렬 계획 생성 억제– Max DOP > 1 인 경우 단일 쿼리 실행에 사용되는 프로세서 수 제한– G 마켓 사례
• Max DOP = 4– Max DOP = 8 에서 4 로 변경 후 일부 쿼리 실행이 지연되어 governor cost
limit 제한에 걸려 실패가 발생하였으나 전체적으로 최선의 성능을 발휘– OLTP 위주로 사용되는 DBMS 인 경우 Max DOP = 1 설정을 권하는 경우도
있지만 G 마켓인 경우는 OLTP와 대량조회 작업이 혼재 되어 있어 G 마켓에 맞는 설정이 중요
대용량 SQL Server 성능 최적화
대용량 SQL Server 성능 최적화메모리• 기본적으로 사용할 수 있는 만큼 실제 메모리 할당
– 과도한 페이징을 방지하기 위해 충분한 리소스를 운영 체제 몫으로 할당 • SQL Server 메모리 풀
– 시스템 수준 데이터 구조– 로그 캐시– 프로시저 캐시– 연결 컨텍스트– 버퍼 캐시
• 수동 조정 가능 매개 변수– max server memory (mb) – min server memory (mb)– min memory per query (KB)– index create memory (KB)
실행 계획 관리• 프로시저 캐시
– 잘못된 실행 계획 재사용으로 인한 성능 저하 이슈– 최선의 실행계획이 캐싱이 될 수 있도록 좋은 표본을 실행함
– DBCC FREEPROCCACHE
• 불필요 SP Compilation 제거– AD-HOC 쿼리 제거 (SP 화 )– 소유자 명시
대용량 SQL Server 성능 최적화
• 주기적인 인덱스 관리– DBCC SHOWCONTIG– DBCC INDEXDEFRAG– DBCC DBREINDEX
• Partitioned View 활용– OLTP 에서는 성능 이슈가 있을 수 있으므로 사용 DB 에 따라 활용 여부 결정
– G 마켓에서는 정산용 DB 에 활용– 파티션별로 인덱스 관리– 시일이 경과된 데이터 삭제 시 유리
대용량 SQL Server 성능 최적화
차후계획• SQL Server 연합을 사용한 수평확장• 서비스별 DB 분산• DR 구축• SQL Server 2005 (64bit) 전환
감 사 합 니 다
Recommended