Background Image
조회 수 54155 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

 

HP-UX Parameter Tuning on the CUBRID

소개: HP-UX시스템에서 CUBRID설정을 위한 가이드를 제공한다.

2009-03-31 고객지원팀 허지웅, CUBRID

적용 대상: HP-UX 11.11. HP-UX 11.23, CUBRID 7.3, CUBRID 2008

수정 전 확인 사항

우선 시스템 튜닝 전 OSKernel bit를 확인한다.

현재 시스템이 32bit 64bit인지를 아래와 같이 확인하고 현 시스템에 맞는 Kernel Parameter값을 수정하여야 한다.

getconf KERNEL_BITS

Kernel Parameter확인 방법은 아래 명령어를 수행하여 확인 할 수 있다.

/usr/sbin/kmtune –l

참고) SAM명령을 통하여 UI환경에서 Kernel Parameter확인 및 수정이 가능하다.

현재 시스템의 Kernel Parameter 의 설정치 및 설정할 수 있는 값을 보려면 아래와 같이 수행한다.

sysdef | more

주의: 시스템의 CUBRID이외의 응용프로그램과 같은 다른 프로세스가 존재하게 된다면 충분히 고려하여 Kernel Parameter를 수정하여야 한다.

I/O Parameter

다이내믹 버퍼 캐쉬의 최대값과 최소값의 설정

sar –b 명령으로 GBL_MEM_CACHE_HIT_PCT 에서 hit ratio를 확인할 수 있다.

기본: dbc_min_pct 5, dbc_max_pct 50

권장: dbc_min_pct: 5, dbc_max_pct: 20 or 10

주의: 메인 메모리의 사이즈가 8Gbyte 이하의 시스템은 dbc_max_pct 값을 20, 8Gbyte 이하일 경우 10으로 설정

참고) HP-UX의 파일시스템(JFS, HFS포함)BLOCK SIZE는 일반적으로 8Kbyte이므로 CUBRID 데이터베이스 생성 시 page size 8192(8Kbyte)로 설정하여 I/O 발생횟수를 줄일 수 있다.

System Tables Parameter

시스템에서 동시에 존재할 수 있는 프로세스의 개수 정의

권장: nproc = 4096 이상

시스템의 한 user id 당 가질 수 있는 최대 프로세스 개수 정의

기본: maxusers: 32, maxuprc: 75

권장: maxusers: nproc가 적당한 값이 되도록 설정한다.

     maxuprc: nproc - 2

참조) 실제 사용자 제한이 아닌 자원 할당을 제어하기 위한 매크로 Parameter이다. HP-UX 11.23 에서는 사용되지 않는 Parameter이다.

user id 당 가질 수 있는 최대 프로세스 수

시스템 전체적으로 동시에 열수 있는 File 의 개수 정의

권장: nfile = (15 * NPROC + 2048)

Process Thread Parameter

프로세스당 가질 수 있는 최대 thread 수 정의

CUBRID에서는 Multi-Threaded Server구조이며, client는 요청과 요청에 의한 처리를 위하여 2개의 Thread를 가진다. 따라서, CUBRID client수를 정의 하는 max_client Parameter 값이 50(default)일 경우 100개 이상(관리 Thread포함) Thread들이 생성된다.

기본: max_thread_proc = 64

권장: max_client *2 + (10~50) <= max_thread_proc <= nkthread

nkthread : 시스템이 가질 수 있는 최대 thread

(1) Thread application에 의해서 사용되는 thread 수의 최대치

(2) 시스템에서 1번의 application 이 동시에 수행되는 process 의 개수

(3) 기타 시스템 및 다른 application 을 위한 thread (nproc * 2) 가 적당

nkthread = (1) * (2) + (3)

권장: nkthread = nporc * 2 의 값

DATA, Text, Stack Segment Size Parameter

maxdsiz

       기본     32bit: 256 MB               64bit: 1 GB

       허용값   32 bit minimum: 0x40000 32 bit maximum: 0xfffff000 (4GB)

                 64 bit minimum: 0x40000 64 bit maximum: 0x3ffbfffffff (4TB)

권장: CUBRID Server프로세스의 크기 이상

maxssiz

       기본     0x800000 (8MB)             64 bit: 128b MB

       허용값   32 bit minimum: 0x40000 32 bit maximum: 0x17F00000 (383MB)

                 64 bit minimum: 0x40000 64 bit maximum: 0x40000000 (1GB)

권장: (max_client+(5~25)) * 2Mbyte

maxtsiz

       기본     32 bit: 256MB               64 bit: 1GB

       허용값   32 bit minimum: 0x40000 32 bit maximum: 0x40000000

                 64 bit minimum: 0x40000 64 bit maximum: 0x400000000000

권장: 기본값 이상

TCP/IP Parameter

WAS Connection을 포함하여 응용프로그램과 CUBRID(Broker CAS) TCP/IP연결에서 Parameter 튜닝으로 성공률을 높이고 성능을 향상시킬 수 있다.

TCP Parameters 확인방법

ndd –h supported

#ndd –get /dev/tcp  <Parameter 이름>

Connection 세션유지 및 종료

Connection 세션에서 설정시간 단위로 probe를 보내어 응답이 올 때 까지 기다린 후 응답이 없을 경우 재전송하여 세션이 유지되고 있는지 확인한다.

권장: tcp_keepalive_interval = 60000 è 1

tcp_keepalive_interval에 의해 probe를 보냈으나 응답이 없을 경우 tcp_ip_abort_interval의 설정 동안 응답이 없을 경우 세션을 종료시킨다.

권장: tcp_ip_abort_interval = 60000 è 1

Connection Drop

TCP세션이 서버에서는 이미 close을 하였고( FIN을 보내진 상태) client에서 FIN tcp_keepalive_detached_interval time안에 들어 오지 않을 때 keepalive probe packet이 발생된다.

이때 remote에서 응답이 없을 경우 normal keepalive probe timeout이 발생한다.

권장: tcp_keepalive_detached_interval = 60000 è 1

Idle fin_wait_2 connection 을 중지하고 불필요한 DB connection을 제거

기본: tcp_fin_wait2_timeout = 0 è Connection유지

권장: tcp_fin_wait2_timeout = 60000 è 1

Connection 이 종료될 때 TIME_WAIT 상태로 빠지게 되는데 얼마 동안 이 상태에 있을 것 인가 결정

기본: tcp_time_wait_interval = 6000 è 1

권장: tcp_time_wait_interval = 3000 è 30

  • ?
    남재우 2012.07.06 21:47

    HP에서 빌드시 컴파일 옵션을 조정할 필요가 있음. 옵션이 없으면 1G 까지만 할당 가능, 즉 maxdsize 의 설정까지 메모리 할당을 받지 못함.

    cc -Wl,+as,mpas -o mem mem.c


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
106 기타 CUBRID2008 R2.0 실행계획 분석하기 file cubebridge 2009.08.27 21917
105 Install CUBRID2008 R2.1 업그레이드시 serial 관련 문제 해결 방법 남재우 2010.01.28 27348
104 기타 CUBRID2008 실행계획 분석하기 file cubebridge 2009.07.28 15339
103 기타 CUBRID2008 쿼리 작성예제 cubebridge 2009.07.28 24906
102 Linux CUBRID2008R1.x to 2.0 마이그레이션 가이드 (32bit 기준) 정만영 2009.08.17 27205
101 Windows CUBRID2008R2.0 Windows BACKUP 자동화 설정하기 정만영 2009.08.17 27942
100 기타 CUBRID2008_보안설정[R2.0] seongjoon 2009.08.17 16272
99 기타 CUBRID2008데이터타입, 함수와 힌트사용법 및 예약어 cubebridge 2009.07.28 18844
98 Install CUBRID6.6 이상에서 CUBRID2008 로 데이터베이스 이전 하기 3 남재우 2008.11.21 26445
97 PHP CUBRID_기술문서_CUBRID PHP 함수 unisql_ 계열 cubrid_로 변환하기 file 남재우 2009.06.23 22355
96 Install CUBRID기반으로 XE 운영하기 – 설치가이드 file cubebridge 2012.04.13 30933
95 Linux CUBRID서비스 시스템 재구동시 자동 구동/종료 방법 1 admin 2009.04.01 29807
94 Java CUBRID에서 Java AddBatch 사용 엄기호 2016.06.28 8370
93 Java CUBRID에서 log4sql을 사용하자 정병주 2009.06.12 44305
92 기타 CUBRID에서의 BLOB/CLOB 타입 사용법 cubebridge 2011.03.08 30454
91 Java CUBRID와 MyBATIS 빠르게 연동하기 file 김승훈 2015.05.07 19144
90 Java CUBRID와 Oracle의 Clob 타입 사용 방법 비교. seongjoon 2012.06.30 54562
89 기타 CUBRID와 타 데이터베이스 기능 비교 9 admin 2008.11.21 36163
88 기타 CUBRID와 타DBMS의 python 사용방법 비교 cubebridge 2009.05.19 29527
87 기타 CUBRID인덱스 구성 전략 웁쓰 2009.12.31 22193
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales