Tuxedo 서비스를 서버 프로세스로 Grouping하는 방안 장점 : - 서버 프로세스당 Memory는 서비스가 많건 적건 일정 - 프로세스의 수가 적을수록 성능에 영향 1. Grouping 기준 1) 한 서버 프로세스내에서 tpcall() 사용 금지 -> 서비스 형태 대신 “C 함수” 호출은 사용 가능 2) 비슷한 Response Time을 갖는 서비스들은 Grouping - 1초 이내는 Grouping하고 - 5.. ▶ Tuxedo/기술자료 2012.02.24
▶ 오브젝트와 라이브러리 관련된 명령어(AIX) - dump 실행파일과 공유 오브젝트의 헤더정보를 보려면 dump 명령을 사용한다. 공유 라이브러리를 사용할 때 유용한 옵션으로 -H 옵션(헤더정보)과 -Tv 옵션(심볼정의정보)이 있다. $ dump -H func1.so $ dump -Tv func1.so - genkld 시스템 공유 라이브러리 세그먼트에 로드되어 있는 공유 오브젝트.. ▶ Tuxedo/기술자료 2012.02.23
▶ 디버깅 - 코어파일로 작업하기 코어 파일이 만들어지는 원인은 메모리 참조를 잘못했거나 잘못된 명령어, 버스 에러(bus error), 사용자가 quit 시그널을 발생시킨 경우 등 여러 가지가 있다. 코어파일은 중단된 프로세스의 메모리 이미지를 포함한다. - printf() 디버깅 기법 가장 일반적이고 .. ▶ Tuxedo/기술자료 2012.02.23
▶ 런타임 에러 점검 - 초기화하지 않은 변수 C/C++ 표준에 따르면, 정적인 영역에 잡지 않은 변수는 자동 저장 영역(스택 영역에 변수를 할당한다)에 잡히게 되고 이 변수는 명시적으로 초기화하지 않는 한 초기값이 결정되지 않는 것으로 되어 있다. 즉 자동저장 영역에 잡은 변수인 자동 변수(auto variab.. ▶ Tuxedo/기술자료 2012.02.23
▶ 링크 타임시 에러 점검 - 해석되지 않은 심볼 현상 : ld: 0711-317 ERROR: Undefined symbol: .pow ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. 원인 : 심볼을 해석하지 못한 에러는 다양한 경우에 발생할 수 있지만 대부분의 이유는 필요한 파일을 제대로 주지 않은 경우이다. 조치 : 라이브러리에 들어.. ▶ Tuxedo/기술자료 2012.02.23
▶ 컴파일시 메시지 분석 "file", line line.column: 15cc-nnn (sev) msg file : 에러가 발생한 소스 파일 이름 line : 에러가 발생한 파일 내에서 해당되는 라인 column : 에러가 발생한 라인에서 해당하는 컬럼 (왼쪽에서 문자를 센 값) cc : 에러메시지를 발생시킨 컴파일러 구성요소. 2자리 코드값으로 보인다. 00 : 옵티마이.. ▶ Tuxedo/기술자료 2012.02.23
▶ make 수행 시에 나타나는 에러들 현상 : Makefile:17: *** missing separator. Stop. 원인 : Makefile을 작성할 때 명령어(command)부분은 모두 TAB 문자로 시작해야 하는데, TAB 문자를 쓰지 않았기 때문에 make가 명령어인지 아닌지를 구별 못하는 경우에 발생. 조치 : 17번째 줄(근처)에서 명령어가 TAB 문자로 시작하게 바꾼다. 현상 : m.. ▶ Tuxedo/기술자료 2012.02.23
▶ Compile 관련 사항(AIX) 주의 : 컴파일러, 링커에서는 OBJECT_MODE=32_64 를 허용하지 않는다. 환경변수를 이와 같이 설정하면 다음과 같은 에러가 발생한다. 1501-254 OBJECT_MODE=32_64 is not a valid setting for the compiler. 주의 : 디폴트 모드를 결정하기 위해 OBJECT_MODE를 사용하고 있는 것을 일반 사용자가 모르고 있다면 .. ▶ Tuxedo/기술자료 2012.02.23
▶ 프로그래밍시 추천사항 - 변수와 데이터 구조 C,C++에서 변수가 메모리에 머무는 기간, 스코프, 링킹 그리고 관련 있는 오브젝트등등은 모두 변수를 어디에서 선언했는지에 달려있다. 그러나 메모리에 머무는 기간은 나중에 storage class specifier로 다시 선언하면 바꿀 수 있다. 가능하면 automatic storage class인 .. ▶ Tuxedo/기술자료 2012.02.23
▶ WTC Trace Levels 예) JAVA_OPTIONS=-Dweblogic.wtc.TraceLevel=100000 ------ -------------- ------------------------------------------------------- Value Components Traced Description ------ -------------- ------------------------------------------------------- 10000 TBRIDGE_IO Tuxedo Queuing Bridge input and output 15000 TBRIDGE_EX more Tuxedo Queuing Bridge information 20000 GWT_IO G.. ▶ Tuxedo/기술자료 2012.02.23