Background Image
조회 수 54152 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
46 기타 트랜잭션과 LOCK 초급과정 정만영 2010.07.01 20760
45 기타 CUBRID 2008 R2.0 추가 및 변경 기능 소개 janus 2009.08.15 20663
44 기타 오래 걸리는 질의 및 동일 시간에 수행 중인 질의 추출하기 손승일 2009.05.26 20069
43 기타 DB의 스키마와 데이터를 파일로 내려받기 seongjoon 2009.08.17 20009
42 Java CUBRID와 MyBATIS 빠르게 연동하기 file 김승훈 2015.05.07 19143
41 기타 CUBRID2008데이터타입, 함수와 힌트사용법 및 예약어 cubebridge 2009.07.28 18844
40 기타 예제로 배우는 CUBRID 스터디 문학청년 2009.12.29 18559
39 기타 CUBRID 개발 가이드 janus 2009.12.09 18368
38 Install CUBRID 2008 + Textyle 설치 가이드 3 1 Prototype 2009.07.29 18287
37 기타 python 에서 broker_log_top 사용 1 admin 2009.04.01 17831
36 기타 CUBRID 32bit VS 64bit janus 2009.08.15 17483
35 기타 CUBRID 주요 명령 요약 정리 정만영 2009.08.17 17187
34 기타 CUBRID 2008 R2.0의 CM변경사항 janus 2009.11.20 17045
33 기타 CSQL 인터프리터 사용방법 정만영 2016.03.03 16651
32 기타 CUBRID 2008 + XE 설치 가이드 [R2.0] Prototype 2009.08.27 16573
31 기타 CUBRID 볼륨 공간 재사용률 비교 - 2008 R3.1 vs. 2008 R4.0 file admin 2011.07.14 16555
30 기타 CUBRID2008_보안설정[R2.0] seongjoon 2009.08.17 16272
29 기타 CUBRID Manager login 안내 seongjoon 2009.08.17 16201
28 기타 멀티미디어 데이터 관리를 위한 CUBRID GLO Method 활용 janus 2009.12.11 16191
27 기타 CUBRID 2008 1.x 에서 CUBRID 2.0 64bit로 Migration 3 janus 2009.08.15 15860
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