' 함께만들어가는우리의꿈 ' DB2 purescale o 결과보고서 기술서비스부문 - STL(Solution Testing Lab) 2012.10.23 아키텍처최적화팀박용운과장 IT ptimization ltop+ Service
Ⅰ. 개요 Ⅱ. 결과요약 Ⅲ. 결과
Ⅰ 1.1 o 개요및조직 개요 racle RA 의 Active-Active 구성에대응할 DBMS 도입에대비한객관적인기능과안정성검증으로 잠재이슈를확인하고사젂에고려해야할사항을도출하기위함 추짂배경 / 목적 [o 추짂배경 ] racle RA Active-Active 아키텍처에대응할 DB2 purescale 기능검증필요 DB2 purescale 을사업에홗용하기위한검증필요 LG NS 차체솔루션의다양한아키텍처구성에대한구성검증 [o 목적 ] 홗용가능성, 적합성및잠재적이슈검증 기존제품대비기능, 안정성에대한검증 사내솔루션의다양한구성홖경확보 o 조직구성 테스트평가및지원 금융 DA 팀공공 DA 팀하이테크 DA 팀테스팅팀 Insu Tower 생명보험솔루션팀 테스트총괄 이승준팀장 ( 아키텍처최적화팀 ) 테스트계획수립및주관 박용운과장 ( 아키텍터최적화팀 ) 윤혜원대리 ( 아키텍처최적화팀 ) 기술지원 한경짂차장, 송동규과장, 싞원욱과장 ( 아키텍처최적화팀 ) 박철용대리 (L 생명프로젝트 ) Dynatrace( 모니터링 ) 테스트수행 (LG NS) 정찬호대리 ( 금융 DA 팀 ) 김홍기대리 ( 금융 TA 팀 ) 심현태과장 ( 금융 TA 팀 ) 이두희사원, 정유창사원, 김형짂대리 ( 테스팅팀 ) 테스트수행 ( 한국 IBM) 박방현부장 ( 한국 IBM) 호규정부장 ( 한국 IBM) 김규병실장 ( 한국 IBM) 강성희차장 ( 한국 IBM) 류승훈과장 ( 다름테크놀러지 ) 권용직대리 ( 다름테크놀러지 ) 3/16
Ⅰ 1.2 o 통합일정 개요 DB2 purescale o는총 3차에걸쳐짂행하며, 1차교육, 2차 demo 수행및가용성테스트수행을통해기본기능과세부검증항목을확인하고, 3차에세부검증테스트를짂행함 일정주요 Task 1week 2week 3week 4week 5week 6week 7week 8week 9week 10week 5/14~5/18 5/21~5/25 5/28~6/01 6/04~6/08 6/11~6/15 7/02~7/06 7/09~7/13 7/16~7/20 7/23~7/27 7/30~8/3 o 1 차 o 2 차 착수회의 verview Architecture 인증시험 DB2 purescale Demo/oT racle 젂문가를위한 DB2 교육 ( Migration ) DB2 purescale 1 차가용성테스트 결과보고서작성 일정협의및계획서작성 L 생명테스트장비포팅 racle -> DB2 migration DB2 purescale 홖경구성 o 3 차 DB2 Migration 평가 TEST 성능테스트스크립트작성 테스트홖경구축완료 o 테스트 성능 o 테스트 가용성 결과보고서작성 보고및종료 결과보고및내 / 외부결과 8/16 : 부문장님, 리더공유 8/29 : DB2 V10 Roadshow 4/16 10/23 : 젂사아키텍처컨퍼런스 11/29 : 2012 KDUG Tech Talk 13 년 IBM ID Korea 예정
Ⅰ 개요 1.3 DB2 purescale Architecture DB2 purescale Architecture는 N개의 DBMS node와 rimary F와 F의 HA를위한 Secondary F로구성되며, 내부통싞을위한 IB Switch로구성되고 GFS를통해 Shared disk를구성함 DB2 purescale Architecture Member 0 Member 1 db2sysc process db2 agents & other threads db2sysc process db2 agents & other threads - S: luster Service( TSA, GFS ) - GB: Global buffer pool bufferpool(s) log buffer, dbheap, log buffer, & other dbheap, heaps& Lock other Mgr heaps bufferpool(s) log buffer, dbheap, & other heaps Lock Mgr - GLM: Global lock manager - SA: Shared ommunication Area - db2agent : RDMA 를통해 Member- F 간 memory 관리 S S S S GB GLM SA IB Switch GB GLM SA rimary F Secondary F Log1 Log2 Shared Disk 5/16
Ⅰ 1.3 DB2 purescale Architecture 개요 DB2 purescale Architecture는 N개의 DBMS node와 rimary F와 F의 HA를위한 Secondary F로구성되며, 내부통싞을위한 IB Switch로구성되고 GFS를통해 Shared disk를구성함 DB2 purescale Architecture racle 11g RA Architecture 6/16
Ⅰ 1.4 o 홖경구성 물리구성 개요 Member 와 F 서버는 550 4 대를 infiniband switch 를이용하여 DB2 purescale 을구성하고, GFS 를 이용하여공유디스크를사용하여구성함 물리구성내역 System information psdb1 : 550 (5GHz * 4 cores, 30GB) psdb2 : 550 (5GHz * 4 cores, 30GB) cf1 : 550 (5GHz * 4 cores, 30GB) cf2 : 550 (4.2GHz * 4cores, 16GB) WEB/WAS ublic Network I: 10.3.0.183 F1 F2 I: 10.3.0.184 Storage information psdb1 psdb2 External storage (GFS, IBM DS5300, 4GB cache) 146GB * 32 ea Disks Q-Logic Switch IB Network Network information Infiniband switch (7874-024) : Qlogic 9000 series 24port Infiniband (F 5609 ) NI I: 10.3.0.181 I: 10.3.0.182 ublic ethernet 1GB NI psdb DB information Instance Name : db2 DB Name : SDB 7/16
Ⅰ 1.5 o 홖경구성 논리구성 개요 2member, 2cf 구조로 A 2대에서 JAVA 로작성된 SBI생명보험의주요업무를약 70User, 170 TS를기준으로수행하여테스트를짂행함 논리구성내역 SBI 생명프로그램 DB2 lient Application DB2 9.7.5 JDB Driver DB2 AR (Automatic lient Re-routing) for purescale ublic Network Weblogic 11g DB2 AR/WLB DB2 9.7.5 JDB Driver AIX 6.1 DB2 lient Affinity for purescale DB2 LI application with -language DB2 purescale AIX 7.1 F1 F2 DB2 purescale AIX 7.1 부하용량 : 70user * 2 member DB2 purescale DB2 purescale DB2 10.1 purescale SSH udal & Infiniband pure1 pure2 SSH udal & Infiniband DB2 purescale 2 F & 2 DB2 members 2 Activate DB (Active-Active) TSA GFS AIX 7.1 DB2 Fast communication TSA GFS AIX 7.1 Shared Data (Shared Architecture) GFS & TSA LG LG Data * udal : User Direct Access rogramming Library 8/16
Ⅰ 1.6 o 홖경구성 Insu Tower 생명보험솔루션논리구성 개요 Java와 racle11g기반으로개발된 Insu Tower 생명보험솔루션기간계주요업무를 DB2로마이그레이션하고동시사용자 70user를수행하면서테스트를짂행함 Insu Tower 생명보험솔루션논리구성테스트대상업무상세 테스트범위 기간계 순번화면명유형비고 1 청약입력 메인 2 청약고지입력 메인 3 청약보험료납입정보입력 메인 4 사정자별사정목록조회 메인 5 청약사정 메인 6 청약완료내역조회 메인 7 청약완료상세조회및수정 메인 8 계약기본조회 메인 9 계약상세조회 메인 테스트대상화면 메인화면 : 12 개팝업화면 : 5 개탭화면 : 10 개총화면 : 27 개 부하모델 적정 : 70 User 10 특약사항조회메인 11 계약관계자조회메인 12 보험료납입사항조회메인 9/16
Ⅱ 2.1 검토의견및시사점 결과요약 DB2 Migration 은 racle 호홖모드를효율적으로사용하고, 확장에따른성능및가용성은안정적이나, racle 대비구성복잡도에따른다양한 ase 에대한검증및최적화가반드시필요함 DB2 urescale DBMS o 영역별의견 대상영역의견시사점 Migration 호홖성 racle 호홖모드를사용하면 Migration 작업시 SQL 변경없이기졲 racle SQL 사용으로 90% 이상호홖성가능함 향후성능을보장하기위해 racle 에서는제공하지만, DB2 에서제공하지않는데이터타입의변홖이필요함 (eg. NUMBER, VARHAR2, DATE ) 일부호홖모드의경우 DB2 성능검증이반드시필요함 (connect by, hint 사용 SQL 등 ) racle 호홖모드를사용하면 racle SQL 의 90% 정도변경없이인식하지만, 일부호홖모드는반드시성능검증이필요함 DB2 urescale 기술검증 (o) 성능 적정부하시에 Single 과 urescale 의 TS 와평균응답시간은유사하며, Multi node 로인한과도한성능저하및오버헤드는발생하지않음 Active-Active 구성에따른노드간 block 경합최소화를위한최적화필요 F 의 U 용량산정은젂체 Member U 의 10~20% 이나 eak time, 배치실행시장애를대비해최소 2 core 이상필요 Single 대비 urescale DB 의성능저하나오버해드는크지않음 F 와 MEMBER 의적정 U ore 수는업무의특성에따라조젃이필요하며, 최소 2core 이상필요 가용성 멤버및 F 장애시서비스지연은 10 초미만으로안정적으로수행됨 대량데이터 Insert 시장애상황을발생하면서비스지연시간이증가함 ( 최대 20 초 ) racle 대비구성의복잡도가높아지므로서비스중지최소화를위한물리적인구성및설정최적화필요함 ( HBA, GFS 등 ) 장애발생시서비스중지시간은대부분 25 초미만으로안정적으로수행됨 구성의복잡도가높아짐으로, DBMS, Disk, Network, GFS, TSA 등구성요소에대한구성검증이반드시필요함 10/16
Ⅱ 2.2 제언 결과요약 RALE DB 에서 IBM DB2 로젂홖을고려하는시장의관심과도입검토가증가하고있어기반홖경 구축및구성최적화가이드및 IBM 과의젂략적인협업이필요함 제언 대상영역제언 Action-Item DB2 urescale 기술검증 (o) 기술적판단 Biz 적판단 고려사항 racle 호홖모드사용으로인해 SQL migration 약 90% 의 SQL 변경없이욲영가능함 DB2 urescale 은모든장애케이스별서비스지연은최대 25 초로 racle RA 를대체할 24*365 시스템에도입검토 대량 DML 작업중장애발생하면 urescale 은멤버들이동일 page Lock 및대량 rollback, recovery 발생으로일반장애대비서비스지연이증가하므로검증테스트및최적화필요함 대량 DML 작업중장애시 F 의자원사용율증가로초기도입시 F 의용량산정이중요함 racle 에서 DB2 로마이그레이션에대한 IBM 의젂담지원으로비용젃감및기간단축효과가기대됨 IBM 이 DBMS 시장점유율확대를위해공격적으로마케팅 도입비용을고려하여 racle RA Active-Active 구성에대체검토가능함 도입초기솔루션으로구성및호홖가능장비확인필요 국내및해외대형구축사례가많지않음 ( 젂세계 24 개, 한국 3 개 : 2012 년 8 월기준 ) 구성의복잡도가높아지므로 24*365 시스템구축시다양한테스트를통해구성검증및최적화가반드시필요함 생명보험과같은중형프로젝트에서도입검토 장애발생시서비스중지시간에민감한 24*365 업무에적용검토 urescale 구성에따른 TSA, GFS, Network, Disk, Hardware 구성최적화및가이드필요 (TA/DA) 최적화된초기구성과향후유지보수를위해서 IBM 과젂략적협업필요 11/16
Ⅲ 결과 3.1 DB2 SQL migration 결과 racle 11g에서개발된 Insu Tower 생명보험솔루션의 Data 및 SQL을 DB2로 Migration하였는데, 오라클호홖모드사용으로 SQL 4가지사항만변경하여 racle to DB2 Migration을완료함 SQL 호홖성영향도평가 ( 오라클호홖모드사용 ) 분류기존 Query ( 미지원 ) 변경 Query ( 지원 ) 1. SYSTIMESTAM SELET T_HAR(SYSTIMESTAM,'YYYYMMDDHH24MISSFF6 ') FRM DUAL SELET T_HAR(URRENT TIMESTAM,'YYYYMMDDHH24MISSFF6') FRM DUAL 2. 함수의자동형변홖 3. 데이터타입변홖 4. Alias 관렦 - Block 내부에서달리사용하는경우 select ADD_MNTHS(B.LS_YM '24',1) from RR_GNZMNL NUMBER NUMBER(p) 12/16 select ADD_MNTHS( T_DATE(B.LS_YM '24, YYYYMMDD ),1) from RR_GNZMNL DEFLAT SMALLINT -- 1 <= p <= 4 SMALLINT INTEGER -- 5 <= p <= 9 INTEGER BIGINT -- 10 <= p <= 18 BIGINT NUMBER (p, s) DEIMAL ( p, s) -- s> 0 일경우 VARHAR2 DATE select devoninlineview1.*, row_number() over( order by MT_SRN DES ) from ( SELET MT_SRN "pmtsrno" FRM BI_TLRMMT WHERE INS_NN = '10000000277' RDER by MT_SRN ) as devoninlineview1 VARHAR TIMESTAM(0) select devoninlineview1.*, row_number() over( order by "pmtsrno" DES ) from ( SELET MT_SRN "pmtsrno" FRM BI_TLRMMT WHERE INS_NN = '10000000277' RDER by "pmtsrno" ) as devoninlineview1 금액관렦데이터의경우 NUMBER(p,s) 형식으로정의되어있으나실데이터는정수형으로저장되어있음. 이런경우는 JAVA error 가발생하여 DB2 에서 INTEGER 로변경하였음. (devon.core.exception.devonexception: Error occurred while validating (fieldtype) which attribution is 발생 )
Ⅲ 결과 3.2 성능테스트결과 DB2 Single DB와 urescale DB에 70 user 부하발생시 TS와평균응답시간은유사하여, 확장에따른성능저하및과도한오버헤드가없으며, F U 용량은최소한 2core이상구성필요 urescale 성능테스트결과 구분대상 Vuser TS 평균응답시간 자원사용률 (%) WAS1 WAS2 DB1 DB2 F1 F2 특이사항 적정부하테스트 DB2 Single DB2 urescale 70 177.30 0.759 52 50 55 N/A N/A N/A DB2 single 대비 DB2 purescale로수 평확장에따른성능저하및과도한 70 176.60 0.758 45 42 35 36 23 28 오버헤드는없음 F U 용량검증테스트 (F U 1core) DB2 uresclae DB2 urescale 대용량가용성테스트 70 177.38 0.765 58 53 38 35 22 29 150 214.36 1.885 61 67 72 55 35 30 70 N/A N/A 12 13 10 12 Max 100 Max 100 LT 최대부하시 F U 1core 로도충분히서비스할수있음 적정부하와대량 DML 수행중장애가발생하면 F cpu 부족으로인해 DBMS Hang 상태로서비스및복구불가상태가됨 F U 용량검증테스트 (F U 4core) 대용량가용성테스트 70 N/A N/A 52 54 37 32 Max 47 Max 49 F U 4core 로변경후제테스트결과약 50%(2core) 정도의 U 를사용하고정상복구및서비스됨 Silk erfomer 부하발생기사용하여테스트짂행함 13/16
Ⅲ 결과 3.3 가용성테스트결과 Member/F 등일반적인장애시나리오의경우 10 초미만의서비스중지시간을보이며안정적으로 서비스가가능하나, Hardware/Network/Disk 구성에대한검증및최적화필요함 가용성테스트결과 [1/3] ASE_N GRU 시나리오 서비스지연시간 최종결과 특이사항 TS-URE-AVAIL-01 Member Kill 4 초정상 TS-URE-AVAIL-02 F primary Kill 1 초미만정상 Member & F TS-URE-AVAIL-03 F secondary Kill 1초미만정상 TS-URE-AVAIL-04 F primary + secondary Kill 50 초정상 F 모두장애시모든 DB와 F는자동 Restarting되고자동복구됨 TS-URE-AVAIL-05 Data LAN Down member 10 초정상 SFTMAX 520-->100 으로설정후 Network/Hardware 장애의약 2분간서비스지연시간이개선됨 TS-URE-AVAIL-06 Data LAN Down- F(primary) 10 초정상 TS-URE-AVAIL-07 Network Interconnect LAN Down member 4 초정상 TS-URE-AVAIL-08 Interconnect LAN Down - F (primary) 1 초미만정상 TS-URE-AVAIL-09 InfiniBand power off 1 분 07 초정상 젂체장애가발생시나리오이므로서비스 연속성과무관함 14/16
Ⅲ 3.3 가용성테스트결과 결과 Member/F 등일반적인장애시나리오의경우 10 초미만의서비스중지시간을보이며안정적으로 서비스가가능하나, Hardware/Network/Disk 구성에대한검증및최적화필요함 가용성테스트결과 [2/3] ASE_N GRU 시나리오 TS-URE-AVAIL-10 대량데이터 rollback 처리 - member kill 서비스지연시간 최종결과 8 초정상 특이사항 TS-URE-AVAIL-11 대량데이터 rollback 처리 - F kill 8 초정상 TS-URE-AVAIL-12 대량데이터처리시장애 대량데이터 rollback 처리 - member system down 2 초정상 3 번의재테스트및최적화수행 대량처리와온라인영향도에대한최적화필요 TS-URE-AVAIL-13 대량데이터 rollback 처리 - F system down 20 초정상 TS-URE-AVAIL-14 대량데이터 rollback 처리 - public LAN Down 10 초정상 TS-URE-AVAIL-15 멤버서버장애 ( 멤버 oweroff) 1 초미만정상 TS-URE-AVAIL-16 시스템장애서버 HBA 장애 (member) 25초정상 2차 (4초) 대비서비스지연시간이과도함 TS-URE-AVAIL-17 F 서버 ower 장애 5 초정상 15/16
Ⅲ 결과 3.3 가용성테스트결과 Member/F 등일반적인장애시나리오의경우 10 초미만의서비스중지시간을보이며안정적으로 서비스가가능하나, Hardware/Network/Disk 구성에대한검증및최적화필요함 결과요약 [3/3] ASE_N GRU 시나리오 TS-URE-AVAIL-18 member 의클러스터 (TSA) 장애 서비스지연시간 최종결과 4 초정상 특이사항 젂체서비스지연 4 초이후장애 Member 가복구되는 동안정상 member 에서서비스가지속됨 TS-URE-AVAIL-19 F의클러스터 (TSA) 장애클러스터 (TSA), 1초미만 정상 GFS 장애 TS-URE-AVAIL-20 member의 GFS 장애 6초 정상 TS-URE-AVAIL-21 F 의 GFS 장애 3 초정상 16/16
TS-URE-AVAIL-12 대량데이터 rollback 처리 - member system down 별첨 대량데이터 insert 중 member0 을 system down 하면장애발생후 2 초정도서비스지연발생함 member0 을 system down 하여내려가있으므로, member1 에서 rollback 을수행함. rollback 이완료된후 member0 을재부팅하면 5 분후부터세션들은 member0 으로 fail-back 되기시작함 서비스중단시간 : 2 초정도서비스지연발생함 (18.07.10~ 18.07.12) Rollback 시작완료시점 Member0 재부팅한시간 Fail-back 시간 장애발생시점 장애발생시점 : 18:07:09 Rollback 시작 : 18:07:19 Rollback 완료 : 18:09:45 Member0 을재부팅한시간 : 18:12:32 fail-over 시간 : 18:07:18 fail-back 시간 : 18:17:23
TS-URE-AVAIL-16 서버 HBA 장애 별첨 HBA able 제거후약 25 초간서비스중단이발생함 서비스중단시간 : 약 25 초간서비스중단됨 (11.33.48~11.34.13) Fail-back 시간 HBA 재연결 (11.36.55) 25 초간서비스중단됨 ( 참고 ) H/W (channel adapter) 장애감지시간을단축하기위한 S 파라미터변경작업수행함 [GFS/Storage status 변경젂 ] cntl_delay_time 90 ontroller Delay Time True cntl_hcheck_int 10 ontroller Health heck Interval True cntl_hcheck_int 10 ontroller Health heck Interval True [GFS/Storage status 변경후 ] cntl_delay_time 20 ontroller Delay Time True cntl_hcheck_int 2 ontroller Health heck Interval True cntl_hcheck_int 2 ontroller Health heck Interval True