1 / 30

회사소개 회사현황 시스템 구성도 SQL Server 사용 로드맵 프로젝트 개요 DB 마이그레이션 대용량 SQL Server 성능 최적화 차후 계획

목차. 회사소개 회사현황 시스템 구성도 SQL Server 사용 로드맵 프로젝트 개요 DB 마이그레이션 대용량 SQL Server 성능 최적화 차후 계획. 회사 소개. 회사명 : ㈜ 인터파크지마켓 대표이사 : 구영배 주소 : 서울특별시 서초구 서초동 1304-3 남서울빌딩 6 층 설립일 : 2000 년 4 월 7 일 자본금 : 36 억 직원수 : 120 명 URL : www.gmarket.co.kr. 1999.12 인터파크 사내벤처 ( 구스닥 팀 ) 로 시작

yasuo
Télécharger la présentation

회사소개 회사현황 시스템 구성도 SQL Server 사용 로드맵 프로젝트 개요 DB 마이그레이션 대용량 SQL Server 성능 최적화 차후 계획

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 목차 • 회사소개 • 회사현황 • 시스템 구성도 • SQL Server 사용 로드맵 • 프로젝트 개요 • DB 마이그레이션 • 대용량 SQL Server 성능 최적화 • 차후 계획

  2. 회사 소개 • 회사명 : ㈜인터파크지마켓 • 대표이사 : 구영배 • 주소 : 서울특별시 서초구 서초동 1304-3 남서울빌딩 6층 • 설립일 : 2000년 4월 7일 • 자본금 : 36억 • 직원수 : 120명 • URL : www.gmarket.co.kr

  3. 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만불 투자 유치 회사 연혁

  4. Goods e-market (회사의 내용) Good e-market (회사의 성격) Green e-market (회사의 역할) Global e-market (회사의 비전) 회사 CI

  5. 회사 현황 • The Fastest Growing Online Marketplace in Korea • 전자상거래 Top 5 업체 가운데 최소의 자본금으로 시작 • 2003년과 2004년 순위상승률, 전자상거래 업계 최고 • 분기별 거래액 매 50% 이상 성장 • 매월 1% 분야점유율 상승, 분기별 200% 거래건수 성장 • 주요 Metrics ( 2005년 3월 기준)  일 평균 거래액 : 약 30억  가입 회원 수 : 340만명  일 평균 방문객 수 : 75만명 • 거래되고 있는 상품 수 : 90만개 • 일 거래건수 : 10만건

  6. Monthly GMV 2004 단위 : 억원 ※ 월평균 증가율 : 15%

  7. 네트워크 사용량

  8. Performance Index (Rankey.com) • 국내 인터넷 순위 20위 (2005년 3월 3째주) • Online Marketplace 부문 2위 (cf. 1위 – 옥션) • 전자상거래 부문 3위 (cf. 1위 – 옥션, 2위 – 인터파크, 4위 – 디앤샵) • Online Marketplace 부문 시장 점유율 약 29%

  9. DB 시스템 구성도 Public Network FC FC Private Network FC HP DL740 HP DL740 HP Supserdome UNISYS ES7000 IBM X440 Storage Network (FC) SAN 스위치 NIC 히다찌 TagmaStore USP HP XP128 스토리지 HBA

  10. DB 용도별 구성도 Log-shipping 이용 • HTML 페이지 생성 • 상품리스트 데이터 생성 • 제휴데이터 생성 • 검색 색인용 데이터 생성 • 각종 조회 업무에 활용 조회용DB1 Main DB 조회용DB2 JOB, SP 이용 선택 접속 정산용DB 메일발송용DB 이벤트용DB

  11. SQL Server 사용 로드맵 2002.2 2000.4 2006년 초(?) 2004.8 SQL Server 2000(32bit) SQL Server 7.0 SQL Server 2000(64bit) SQL Server 2005(64bit) • 4Way 서버 사용 • 8Way 서버 사용 • 장애조치 클러스터 • 로그전달 • 64bit 서버 도입 • 64GB 이상의 Memory 사용 • 고가용성 DB 시스템 • 가용성 중심 • 보안 • 개발자 생산성

  12. 프로젝트 개요 • 64비트 플랫폼에서 SQL Server 구축 • 대상 : G마켓 메인 DBMS • 기간 : 2004.6 ~ 2004.8 (약 3개월) • 구축단계 • 64비트 플랫폼 구축 • From 32-bit to 64-bit DB 마이그레이션 • Configuration 조정 및 튜닝 • 기존 장비를 활용한 DB분산

  13. 목적 • 기존 DB 장비의 CPU, Memory, Disk Resource 부족으로 인한 서비스 처리 지연 문제 해결 • 지속적인 사업 확장을 고려한 충분한 하드웨어 확장성 고려 • 고 가용성 장비로 교체하여 플랫폼의 안정성 확보 • 튜닝과 구조개선을 통한 성능향상 이전에 충분한 하드웨어 Redundancy 확보

  14. 성능 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배의 성능

  15. 성능 Windows 2003 32bit vs. 64bit

  16. SQL Server 2000 64bit vs.32bit • 설치 • Windows Installer 기반 • Windows Server 2003 64bit components에 영향을 받는다 • 원격설치를 지원하지 않음 • 기타 • 기능 변화 • 도구 및 유틸리티 차이 • 새로운 기능 • 추가 정보 http://www.microsoft.com/korea/sql/64bit

  17. 하드웨어 구성 • 서버 (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)

  18. 장애 조치 클러스터 구성 User LAN / Standby LAN / Server LAN DB서버 #1 (nPar) 12CPU/32GB Heart Bit LAN hp StorageWorks SAN Switch 2/8 2 MSCS DB서버#2 (nPar) 12CPU/32GB 8 2 XP128 Usable 2TB (1TB=R10, 1TB=R5)) Business Copy 1TB Integrity Superdome-32w (Itanium2 1.5GHz*32ea)Windows 2003 64bit Data Center Edition

  19. 스토리지 구성

  20. DB 마이그레이션 • 손쉬운 SQL Server 2000 Enterprise Edition(64bit)으로 마이그레이션 • 32bit와 64bit 플랫폼 모두 디스크 상에서 동일한 형식 유지 • 작업에 의한 다운타임 최소화 ( Log shipping 이용 ) • 온라인 상태에서 미리 Backup 및 restore를 통한 데이터 일치 • Transaction log backup을 복원하여 데이터 차이를 좁힘 • 최종 변경 부분을 반영할 시에만 서비스를 중지함 • 데이터 복원이 완전히 이뤄지면 어플리케이션 접속을 신규 서버로 변경하고 서비스 재 개시 • 프론트 엔드 어플리케이션은 성능이 좋아졌다는 것 이외의 다른 차이를 못 느낌

  21. 디스크 시스템 외부 디스크에 데이터베이스 설치 RAID 10 : 가장 많이 사용하는 RAID 수준 SQL Server 파일을 분산 트랜잭션 로그 파일 Tempdb 파일 데이터 파일 인덱스 파일 빠른 쓰기 입/출력 속도로 성능저하가 있을 수 있으므로 특히 트랜잭션 로그, TempDB인 경우는 RAID 0가 좋다. 디스크 오류 대응까지 고려하면 RAID 10 쓰기작업이 많지 않은 경우는 Raid 5도 무난 대용량 SQL Server 성능 최적화

  22. 대용량 SQL Server 성능 최적화 TempDB Contention • TempDB 파일을 분리하여 여러 저장소 집합에 분산 • TempDB 파일이 존재하는 디스크는 RAID 0 디스크의 활용성과 안정성을 고려할 때 RAID 10 • SP작성시 임시 테이블보다는 테이블 변수를 사용하는 것이 좋고 빈번히 사용되는 SP일 수록 가능하면 테이블 변수를 사용하지 않고 Query를 작성하는 것이 좋다

  23. SMP 조정 affinity mask- 프로세서와 스레드 간의 연결 max worker threads- SQL Server에 사용할 수 있는 작업자 스레드 수 max degree of parallelism- 병렬 계획 실행에서 사용할 프로세서 수 cost of threshold for parallelism- 병렬 계획을 만들고 실행하기 위한 임계값 대용량 SQL Server 성능 최적화

  24. 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 성능 최적화

  25. 메모리 기본적으로 사용할 수 있는 만큼 실제 메모리 할당 과도한 페이징을 방지하기 위해 충분한 리소스를 운영 체제 몫으로 할당 SQL Server 메모리 풀 시스템 수준 데이터 구조 로그 캐시 프로시저 캐시 연결 컨텍스트 버퍼 캐시 수동 조정 가능 매개 변수 max server memory (mb) min server memory (mb) min memory per query (KB) index create memory (KB) 대용량 SQL Server 성능 최적화

  26. 대용량 SQL Server 성능 최적화 실행 계획 관리 • 프로시저 캐시 • 잘못된 실행 계획 재사용으로 인한 성능 저하 이슈 • 최선의 실행계획이 캐싱이 될 수 있도록 좋은 표본을 실행함 • DBCC FREEPROCCACHE • 불필요SP Compilation 제거 • AD-HOC 쿼리 제거(SP화) • 소유자 명시

  27. 대용량 SQL Server 성능 최적화 • 주기적인 인덱스 관리 • DBCC SHOWCONTIG • DBCC INDEXDEFRAG • DBCC DBREINDEX • Partitioned View 활용 • OLTP에서는 성능 이슈가 있을 수 있으므로 사용DB에 따라 활용 여부 결정 • G마켓에서는 정산용 DB에 활용 • 파티션별로 인덱스 관리 • 시일이 경과된 데이터 삭제 시 유리

  28. 차후계획 • SQL Server 연합을 사용한 수평확장 • 서비스별 DB 분산 • DR 구축 • SQL Server 2005 (64bit) 전환 감 사 합 니 다

More Related