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
번호 분류 제목 글쓴이 날짜 조회 수
166 기타 [10.2 path] - 생성된 view구문을 'show create view' 수행 시 정상적으로 출력되지 않던 이슈 patch 큐브리드_김주현 2020.11.09 886
165 기타 큐브리드10.1 에서 윤초 지원 옵션 사용하기 최광일 2017.09.13 1419
164 Linux <주의> 생성한 DB볼륨을 절대! 삭제하지 말자 큐브리드_김주현 2019.09.30 1598
163 Install [linux] wget으로 제품 다운로드 시 "wget: unable to resolve host address ‘ftp.cubrid.org’" 해결방 큐브리드_김주현 2021.07.02 2267
162 기타 ERwin을 이용한 CUBRID 포워드 엔지니어링 file 민순 2020.07.14 2316
161 기타 따라하면 쉬운 compactdb 사용법 file 허서진 2017.07.01 2528
160 기타 ERwin을 이용한 CUBRID 리버스 엔지니어링 file 민순 2020.07.13 3462
159 Java JDBC를 사용한 다중화 구성 SELECT Query 부하 분산 가이드 file 윤준수 2017.03.30 3946
158 튜닝 다중컬럼 조건에 대한 인라인뷰 처리방안 2 박동윤 2016.12.27 6012
157 기타 PyCharm을 이용한 CUBRID, Django 연동 가이드 file 진우진 2016.04.11 8152
156 Java CUBRID에서 Java AddBatch 사용 엄기호 2016.06.28 8365
155 기타 CUBRID Migration Toolkit을 이용한 단계별 마이그레이션 진행 방법 file 진우진 2015.12.15 9542
154 PHP CUBRID HA 환경에서 Apache-PHP 설정 가이드 이용미 2015.06.16 10665
153 기타 CUBRID isolation level & Dirty Read 정만영 2015.05.29 11314
152 기타 알고 보면 쉬운 cubrid lockdb 유틸리티 file 김승훈 2015.12.08 12076
151 Windows Windows 에 설치 된 JRE 설치 위치 확인 하기. file 성진 2015.05.28 12571
150 기타 데이터 확인에 정규표현식을 사용 해 보자. 성진 2016.03.01 12759
149 기타 CUBRID 2008 R4.0 파라미터 변경 사항 (일부) file admin 2011.07.14 13154
148 Linux 가상머신 환경에서 리눅스 및 큐브리드 설치 가이드 file 이경오 2015.07.14 13399
147 기타 콘솔에서 마이그레이션 하기. file 권호일 2015.06.19 13432
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