[Tuxedo] RESOURCES section

2022. 8. 18. 17:46

RESOURCES 섹션 : 시스템에서 사용하는 자원을 정의 

 

RESOURCE 섹션에서 주요한 파라미터는 IPCKEY MASTER DOMAINID 

 

IPCKEY, MASTER, DOMAINID 

IPCKEY는 내부적으로 Bulletine Board, Message Queue, SemaFore 등을 할당한다.

SHM 모드에서는 BBL의 이름을 규정하고,

MP 모드에서는 DBBL의 Message Queue 이름을 규정한다.

IPCKEY 값은 32,768 ~ 262,143 범위의 값이어야 하고, 전체 시스템에서 유일한 값으로 숫자 또는 16진수이어야 한다.

 

MASTER는 어플리케이션의 기동과 관리를 담당하는 머신을 지칭한다.

한개 또는 두 개의 논리적인 머신 구분자(LMID, Logical Machine Identifier)로 주어진다.

두 개의 LMID는 서버 이동(Server Migration)이 허용된 경우를 말한다.

값은 임의의 30자 이내 또는 16진수이어야 한다.

 

DOMAINID는 논리적인 도메인을 구분할 수 있는 구분자를 지칭한다.

값은 임의의 30자 이내 문자 또는 16진수이어야 한다.

 

UID, GID, PERM은 어플리케이션에 대한 접근을 관리하기 위한 값들이다.

UID는 Tuxedo System/T 관리자의 User-ID

GID는 Tuxedo System/T 관리를 위한 Group-ID 이며 

UID, GID의 디폴트값은 tmloadcf 명령을 사용하는 User-ID이며, 예외적으로 MACHINES 섹션에서 재설정할 수 있다. 항상 작은 곳을 먹는다.

PERM은 Tuxedo IPC 자원에 대한 접근을 관리한다. (0111~0777). 디폴트값은 0600이며, MACHINES 섹션에서 재설정할 수 있다. 늘 작은 곳은 먹는다.

 

 

MAXACCESSERS, MAXSERVERS, MAXSERVICES

IPC 자원은 빠른 처리를 위해 할당이 되므로 적당한 크기로 설정한다. 과다하게 설정 시, 메모리 소모가 너무 많다. 너무 적게 설정해도 한계에 걸린다.

MAXACCESSERS는 MACHINES 단위로 Tuxedo/T와 접속 가능한 프로세서의 수 이다.

MAXACCESSERS = Machine 당 AP server의 수 + Machine 당 TMS의 수 + Machine 당 WSL의 수 + Machine 당 WSH의 수 + Machine 당 MAXCLIENTS의 수 + Native Client의 수 + ( Machine 당 tmadmin Process의 수 -1) 

1개의 프로세스에 대해 1개의 세마포어가 사용된다.

0 < MAXACCESSERS < 32,768  범위의 값으로 설정한다. (디폴트 50)

 

 

MAXSERVERS

시스템 전체에서 사용이 되는 서버 프로세스의 최대값 

0 < MAXSERVERS < 8,192 범위의 값으로 설정한다. (디폴트 50)

 

MAXSERVICES 

시스템 전체에서 사용이 되는 서비스 수의 최대값 

0 < MAXSERVICES < 32,768 범위의 값으로 설정한다. (디폴트 100) 

 

MAXGROUPS 

GROUP의 최대 개수로 100 <= MAXGROUPS < 32,768 범위의 값으로 설정한다. (디폴트 100)

 

MAXNETGROUPS 

Network Group으로 지정할 수 있는 최대 갯수 

1 <= MAXNETGROUPS < 8,192 범위의 값으로 설정한다. (디폴트 8)

 

MAXMACHINES 

Netwrok 환경으로 구성할 UNIX Machine의 최대 갯수 

256 <= MAXMACHINES < 8,192 범위의 값으로 설정한다 (디폴트 256)

 

MAXQUEUES 

Requested Message 를 저장할 Message Queue의 최대 갯수

1 <= MAXQUEUES < 8,192 범위의 값으로 설정한다. 이 값을 설정하지 안흥면 MAXSERVERS의 값으로 설정된다.

 

MAXACLGROUPS

ACL 사용 시 설정한 ACL Group-ID의 최대 갯수 

1 <= MAXACLGROUPS >= 16000 범위의 값으로 설정한다.

 

MODEL 

BB 구성에 필요한 인수 

SHM 전역 공유 메모리를 사용하는 단일 프로세서 상의 어플리케이션 

MP 여러 프로세스 및 네트워크 상에서 동작하는 어플리케이션 

 

LDBAL 

 

시스템 전체의 Load Balancing 알고리즘을 적용할 것인가를 표시한다.

서비스가 하나 이상의 queue를 사용하는 서버들로 구성될 경우에 사용된다.

 

하나의 서버 혹은 MSSQ : LDBAL N       

(멀티 서버 싱글 큐) 

그외의 경우                        : LDBAL Y

 

로드밸런싱은 Load Factor 및 Message Queue에 쌓인 데이터 건수에 의해 결정된다.

 

 

CMTRET 

 

tpcommit()에 관한 성격을 규정한다 (반환값을 제어한다)

COMPLETE : TP_CMT_COMPLETE 설정과 같음 (2PC 후에 return 됨)

LOGGED     : TP_CMT_LOGGED 설정과 같음 (1 Phase 후에 return 됨)

 

디폴트 값은 COMPLETE(2PC)임

tpscmt()에 의해 재설정될 수도 있음

 

 

OPTIONS

시스템 구성 옵션을 설정하는데, 하나 이상의 옵션을 선택한 경우 Comma로 옵션을 구분함.

LAN : 네트워크 상의 어플리케이션 

MIGRATE : 서버 이동이 필요함을 표시 

NON_XA : XA Transaction을 허용하지 않음

NO_AA : 보안과 관련된 감사와 인증 관련 함수를 호출할 수 없음.

 

 

SYSTEM_ACCESS

어플리케이션의 클라이언트/서버로 부터 공유 메모리에 있는 시스템 테이블에 대한 접근을 제한한다.

PROTECTED : 어플레이션과 같이 컴파일된 /T 라이브러리는 시스템 코드를 실행시키지 않고는 공유 메모리에 접근할 수 없음.

FASTPATH : /T 라이브러리는 항상 공유 메모리에 접근할 수 있음.(디폴트)

NO_OVERRIDE : 위의 설정이 tpinit() 호출이나 SERVERS 섹션에 의해 재설정되지 않음.

 


 SECURITY 

어플리케이션을 접근을 할 수 있는 권한을 설정하여 접근을 제한한다.

NONE : Security를 부여하지 않음.

APP_PW : 어플리케이션 비밀번호에 의한 보안 

USER_AUTH : 사용자인증에 의한 보안 

ACL : Access Control List에 의한 보안 

MANDATORY_ACL : Madatory ACL에 의한 보안 

 

AUTHSVC

인증 서비스의 이름 (APP_PW가 설정되어있어야 한다)

 

MAXGTT 

어플리케이션에서 특정 머신이 연관될 수 있는 동시 글로벌 트랜잭션의 최대값을 나타낸다.

하나의 머신에서 동시에 허용되는 GTRID (Global Transaction-ID) 의 최대값 ( 0 <= MAXGTT => 2048, 0 : Non-Transactional System)

MACHINES 섹션에서 재설정할 수 있음 ( 디폴트값 100)

 

MAXCONV 

어플리케이션에서 특정 머신에 대한 클라이언트와 서버들이 연관된 동시 컨버세이션의 최대값을 나타낸다.

Machine 당 Conversation Mode의 최대값 

서버당 동시 conversation의 최대값은 64

0 < MAXCONV < 32,768 범위의 값 설정 (디폴트값 1)

 

MAXBUFTYPE, MAXBUFSTYPE 

 

BB의 버퍼 타입 테이블에 적용될 수 있는 최대 버퍼 타입 갯수.

어플리케이션에서 사용하는 버퍼와 하위 버퍼 유형의 최대 갯수.

(MAXBUFTYPE 디폴트 16 / MAXBUFSTYPE 디폴트 32)

0 <= MAXBUFTYPE< 32,768

 

SCANUNIT, SANITY, DBBLWAIT, BBLQUERY, BLOCKTIME 

Time-out과 정기적인 검사를 위해 설정하는 시간

SCANUNIT : 검사를 위한 시간 단위 ( 2 또는 5의 배수로 설정해야하고 60초 또는 60초 보다 적은 초 단위로 설정해야한다, 디폴트값 10 )

SANITYSCAN : 서버의 안정성 체크, BB의 데이터 구조 체크 ( 0 이상이어야함. 디폴트 값 12)  

DBBLWAIT : BBL의 응답을 기다리는 시간 (디폴트 20초 또는 SCANUNIT * DBBLWAIT )

BBLQUERY : DBBL이 BBL을 체크하는 시간 간격 (0 보다 커야함, 디폴트값 SCANUNIT * BBLQUERY, 대략 300초)

BLOCKTIME  : BLOCKING Message에 대한 time-out 시간 (디폴트값 SCANUNIT * BLOCKTIME = 약 60초, 최대 300초를 넘어서는 안됨)  

 

NOTIFY, USIGNAL

자발적인 메세지 처리에 대한 설정값

NOTIFY : 클라이언트에서 자발적인 메시지 수신 방법을 설정

DIPIN : tpchkunsol() 함수 호출이나 ATMI 호출시에만 메시지 수신 (클라이언트 프로그램 내에서 주기적으로 tpchkunsol() 함수를 수행하여 Broadcasting 메시지를 확인)

SIGNAL : tpsetunsol() 함수에 의해 설정된 시그널 핸들러에 의해 수신. tpinit() 함수 호출시에 재설정이 될 수도 있음. (클라이언트 프로그램 내에서 DIPIN 방식과 동일하게 tpchkunsol() 함수를 수행하지만, Native Client(Unix client)에서는 tpchkunsol() 함수 없이도 Broadcasting 메세지를 확인)

IGNORE : 클라이언트는 자발적인 메시지를 무시. (가장 중요)

- 두가지 유형의 signal이 발생할 수가 있음

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts