Background Image
조회 수 54135 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
166 기타 자주 발생하는 큐브리드(cubrid) 에러 메시지 정리 admin 2011.07.14 81364
165 Linux 리눅스에서 top 명령어를 통한 CPU 점유율 확인 및 측정하기 file 정훈 2017.06.02 79911
164 Java CUBRID와 Oracle의 Clob 타입 사용 방법 비교. seongjoon 2012.06.30 54548
163 Java iBATIS framework with CUBRID file 웁쓰 2009.05.19 54546
» Linux HP-UX에서 CUBRID 사용을 위한 kernel 설정값 조정 1 admin 2009.04.01 54135
161 Java Spring framework 사용 예제 admin 2009.04.01 53119
160 기타 [주의사항] CUBRID에서의 BLOB/CLOB 사용시 백업 및 복구에 대한 주의 점 admin 2011.07.14 52553
159 기타 connect by 구현 방법 admin 2009.04.01 52371
158 PHP windows 상에서 PHP 설치하기 file admin 2008.11.21 51804
157 기타 오라클 개발자를 위한 CUBRID 개발 안내 1 admin 2009.04.01 49817
156 Java DBCP 사용법 1 admin 2008.11.21 48362
155 Windows CUBRID 2008 사용법 admin 2008.11.21 47933
154 Java jsp용 jdbc 샘플입니다. file 시난 2009.05.25 47606
153 기타 CUBRID 활용 - 질의 튜닝 사례 중심 file cubrid 2010.12.02 45960
152 Java CUBRID에서 log4sql을 사용하자 정병주 2009.06.12 44302
151 Install Windows 에서 CUBRID 설치하기 file 남재우 2008.11.22 43641
150 PHP LINUX에서 PHP 사용하기 file admin 2008.11.21 42495
149 Install CUBRID Manager 사용시 로그인에 대하여 1 file admin 2009.04.01 42038
148 PHP Apache, PHP 설치 방법 file 이용미 2013.05.16 41246
147 기타 CUBRID 개발 로드맵 admin 2008.12.27 40321
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