파라미터
본 장에서는 ProSort를 실행하는 데 필요한 파라미터를 설명한다. 변경된 파라미터는 종류에 따라 정적 혹은 동적으로 시스템에 반영된다.
1. 성능 관련 파라미터
다음은 ProSort의 성능과 관련 있는 파라미터에 대한 설명이다.
|
성능을 최대화하기 위한 이론적인 추천값을 기술한다. 하지만 파라미터 값을 다양하게 바꿔 가면서 ProSort를 수행해 보는 것이 최적의 파라미터 값을 찾는 유일한 방법이다. |
| 파라미터 | 설명 |
|---|---|
연산 수행에 사용되는 스레드의 개수를 설정한다. (기본값 : 2) |
|
SORT 연산을 수행할 때 설정한 블록 크기만큼 입력 파일을 한꺼번에 읽는다. (기본값: 4MB) |
|
SORT 연산을 수행할 때 설정한 블록 크기만큼 출력 파일을 한꺼번에 기록한다. (기본값: 4MB) |
|
C 표준 라이브러리의 |
|
비동기 입력의 사용 여부를 설정한다. (기본값: Y) |
|
비동기 출력의 사용 여부를 설정한다. (기본값: Y) |
|
MERGE 연산을 수행하는 경우 설정한 블록 크기만큼 입력 파일들을 한꺼번에 읽는다. (기본값: 2MB) |
|
입력 파일을 최대한 메모리에 읽어들여 처리할지 여부를 설정한다. (기본값: Y) |
|
C 표준 라이브러리의 |
|
입력 파일 크기가 MEMORY 파라미터 값보다 작으면 1-pass 정렬을 수행하고, 그렇지 않으면 2-pass 정렬을 수행한다. (기본값: 0, 0은 (메모리 용량) * 0.1 을 의미한다.) |
|
MEMORY 파라미터 값에 따라 메모리 사용량 제한 여부를 설정한다. (기본값: N) |
|
TP 데이터 타입의 경우 양수를 표현하는 방식을 설정한다. |
|
합계 필드(Summary field)에서 오버플로우가 발생했을 때 수행할 동작을 설정한다. |
|
정렬 대상의 데이터 타입이 BI인 경우 변환 함수를 사용할지 여부를 설정한다. |
|
정렬 대상의 데이터 타입이 CH인 경우 EBCDIC과 ASCII 중에 어떤 문자 세트를 사용할지를 설정한다. |
|
정렬 대상의 데이터 타입이 BI인 경우 EBCDIC과 ASCII 중에 어떤 문자 세트를 사용할지를 설정한다. |
|
정렬 대상의 데이터 타입이 AQ인 경우 기본적인 정렬 순서(base sequence)를 설정한다. |
|
EBCDIC 정렬 시 어떤 코드 페이지를 사용할지를 설정한다. |
|
OpenFrame의 EBCDIC 변환 규칙을 사용할지 여부를 설정한다. (기본값 : N) |
|
OpenFrame의 EBCDIC 변환 규칙 사용 시 어떤 CPM을 사용할지를 설정한다. |
1.1. SORT_THREAD_COUNT
정렬에 사용하는 스레드의 개수를 설정하는 파라미터이다. 값은 크게 설정할수록 성능이 향상되지만, CPU 프로세서 개수를 넘지 않도록 설정한다.
-
파라미터 형식
속성 설명 파라미터 타입
Integer
기본값
2
범위
0 ~ 255
-
예제
다음은 0으로 설정한 경우 스레드를 사용하지 않는다는 의미이다.
SORT_THREAD_COUNT=0
1.2. SORT_READ_BLK_SIZE
정렬할 때 파일을 읽는 데 사용할 블록의 크기를 설정하는 파라미터이다.
설정 값은 운영체제의 블록 크기의 배수이어야 한다. 설정 값은 성능 에 큰 영향을 주지 않으나, 너무 작거나 크게 설정하면 성능 저하되므 로 기본값 사용을 권장한다.
-
파라미터 형식
속성 설명 파라미터 타입
Integer
기본값
4194304
범위
64K ~ 512M
1.3. SORT_WRITE_BLK_SIZE
정렬을 수행한 결과를 파일에 기록할 때 사용할 블록의 크기를 설정하는 파라미터이다.
설정 값은 운영체제의 블록 크기의 배수이어야 한다. 설정 값은 성능에 큰 영향을 주지 않으나, 너무 작거나 크게 설정하면 성능 저하되므로 기본값 사용을 권장한다.
-
파라미터 형식
속성 설명 파라미터 타입
Integer
기본값
4194304
범위
64K ~ 512M
1.4. USE_SYSTEM_QUICK_SORT
운영체제가 지원하는 qsort 함수를 사용할 것인지를 설정하는 파라미터이다.
일반적으로 qsort 함수보다 ProSort에 내장된 정렬 함수가 성능이 향상되지만, 기본값 사용을 권장한다.
-
파라미터 형식
속성 설명 파라미터 타입
String
기본값
N
범위
Y | N
-
예제
다음은 ProSort에 내장된 정렬 함수 대신 운영체제가 지원하는
qsort함수를 사용하는 설정이다.USE_SYSTEM_QUICK_SORT=Y
1.5. USE_AIO_READ
파일을 읽을 때 Asynchronous I/O(비동기 입출력)을 사용할 것인지를 설정하는 파라미터이다. 단, Asynchronous I/O를 지원하는 운영체제에서만 사용할 수 있다.
비동기 입출력을 지원하는 운영체제에서는 Y로 설정하는 것이 성능이 향상되지만, 비동기 입출력을 지원하지 않는 운영체제에서는 N으로 설정해야 한다.
-
파라미터 형식
속성 설명 파라미터 타입
String
기본값
Y
범위
Y | N
1.6. USE_AIO_WRITE
연산 결과를 파일에 기록할 때 Asynchronous I/O를 사용할 것인지를 설정하는 파라미터이다. 단, Asynchronous I/O를 지원하는 운영체제에서만 사용할 수 있다.
비동기 입출력을 지원하는 운영체제에서는 Y로 설정하는 것이 성능이 향상되지만, 비동기 입출력을 지원하지 않는 운영체제에서는 N으로 설정해야 한다.
-
파라미터 형식
속성 설명 파라미터 타입
String
기본값
Y
범위
Y | N
1.7. MERGE_READ_BLK_SIZE
병합할 때 파일을 읽는 데 사용할 블록의 최대 크기를 설정하는 파라미터이다. 외부 정렬을 할 때 내부적으로 병합을 수행하므로, 해당 파라미터에 설정된 값의 영향을 받는다.
설정 값은 운영체제의 블록 크기의 배수여야 한다. 값은 크게 설정할수록 성능이 향상되지만, (메모리 용량) / (입력 파일 개수) 보다 크게 설정하면 성능 저하된다.
-
파라미터 형식
속성 설명 파라미터 타입
Integer
기본값
2097152
범위
64K ~ 512M
1.8. MAXIMIZE_MEM_RUN_SIZE
메모리에서 처리할 수 있는 입력 파일의 크기를 최대화할 것인지를 설정하는 파라미터이다. 일반적으로 Y로 설정하는 것이 성능이 향상되므로, 기본값 사용을 권장한다.
-
파라미터 형식
속성 설명 파라미터 타입
String
기본값
Y
범위
Y | N
-
예제
다음은 메모리에서 처리할 수 있는 입력 파일의 크기를 최대화한다는 의미이다.
MAXIMIZE_MEM_RUN_SIZE=Y
1.9. USE_SYSTEM_MALLOC
운영체제가 지원하는 malloc 함수를 사용할 것인지를 설정하는 파라미터이다. 일반적으로 malloc 함수보다 ProSort에 내장된 메모리 할당 함수가 성능이 향상되므로, 기본값 사용을 권장한다.
-
파라미터 형식
속성 설명 파라미터 타입
String
기본값
N
범위
Y | N
-
예제
다음은 ProSort에 내장된 메모리 할당 및 해제 함수 대신 운영체제가 지원하는
malloc함수를 사용하는 설정이다.USE_SYSTEM_MALLOC=Y
1.10. MEMORY
정렬에 사용할 메모리의 크기를 설정하는 파라미터이다. 해당 파라미터를 설정하지 않을 경우에는 스크립트 파일에 설정된 값을 사용하게 된다.
입력 파일 크기가 MEMORY 파라미터 값보다 작으면 1-pass 정렬을 수행하고, 그렇지 않으면 2-pass 정렬을 수행한다.
-
파라미터 형식
속성 설명 파라미터 타입
Integer
기본값
0 (0은 (메모리 용량) * 0.1 을 의미한다.)
범위
0 ~ 1125899906842624
1.11. USE_STRICT_MEMORY
MEMORY 파라미터에 설정된 값을 어떻게 사용할지를 결정하는 파라미터이다. 이 파라미터에 설정된 값에 따라 MEMORY 파라미터의 값을 물리적인 메모리의 사용량을 제한하는 용도로 사용하거나 또는 정렬 방식을 선택하는 용도로만 사용한다.
-
파라미터 형식
속성 설명 파라미터 타입
String
기본값
N
범위
Y | N
-
설정값
성능과는 무관하나 설정 값의 특성에 따라 지정한다.
설정값 설명 Y
MEMORY 파라미터의 값에 따라 메모리 사용량이 제한된다.
N
MEMORY 파라미터 값은 단지 정렬 방식을 선택하는 용도로만 사용된다. (기본값)
-
예제
다음은 물리적인 메모리의 사용량을 제한하도록 설정하는 예이다.
USE_STRICT_MEMORY=Y
다음은 정렬 방식을 선택하도록 설정하는 예이다.
USE_STRICT_MEMORY=N
1.12. USE_ALTERNATIVE_TP_TYPE
TP 데이터 타입의 경우 양수를 표현하는 2가지 방식이 있다.
-
파라미터 형식
속성 설명 파라미터 타입
String
기본값
N
범위
Y | N
-
설정값
-
방식1
해당 파라미터의 값이 N으로 설정된 경우 방식 1로 TP 데이터 타입을 표현한다.
'{', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I' -
방식2
해당 파라미터의 값이 Y로 설정된 경우 방식 2로 TP 데이터 타입을 표현한다. ZD 포맷 코드도 방식 2와 같이 표현한다.
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'
-
1.13. SUM_OVERFLOW_OPTION
합계 필드(Summary field)에서 오버플로우가 발생했을 때 수행할 동작을 설정하는 파라미터이다.
-
파라미터 형식
속성 설명 파라미터 타입
String
기본값
RC4
범위
RC0 | RC4 | RC16
-
예제
다음은 RC0로 설정된 예이다. 오버플로우가 발생했을 때 반환값을 0으로 설정하고 합계 연산을 계속한다. 단, 오버플로우를 발생시킨 레코드는 합계 연산에 제외된 상태로 남아 있는다.
SUM_OVERFLOW_OPTION=RC0
다음은 RC4로 설정된 예이다. 오버플로우가 발생했을 때 반환값을 4로 설정하고 합계 연산을 계속한다. 단, 오버플로우를 발생시킨 레코드는 합계 연산에 제외된 상태로 남아 있는다.
SUM_OVERFLOW_OPTION=RC4
다음은 RC16으로 설정된 예이다. 오버플로우가 발생했을 때 합계 연산을 중단하고, 16을 반환한다.
SUM_OVERFLOW_OPTION=RC16
1.14. USE_BI_KEY_CONV
정렬 대상의 데이터 타입이 BI인 경우 변환 함수를 사용할지를 설정하는 파라미터이다. 단, BI 타입과 관련된 문제가 발생한 경우에만 사용할 것을 권장한다.
-
파라미터 형식
속성 설명 파라미터 타입
String
기본값
N
범위
Y | N
1.15. USE_CH_EBCDIC
정렬 대상의 데이터 타입이 CH인 경우, EBCDIC과 ASCII를 사용할 수 있는데, 둘 중에 어떤 문자 세트를 사용할지를 설정하는 파라미터이다.
-
파라미터 형식
속성 설명 파라미터 타입
String
기본값
N
범위
Y | N
-
예제
다음은 EBCDIC을 사용하도록 설정하는 예이다.
USE_CH_EBCDIC=Y
다음은 ASCII를 사용하도록 설정하는 예이다.
USE_CH_EBCDIC=N
1.16. USE_BI_EBCDIC
정렬 대상의 데이터 타입이 BI인 경우, EBCDIC과 ASCII를 사용할 수 있는데, 둘 중에 어떤 문자 세트를 사용할지를 설정하는 파라미터이다.
-
파라미터 형식
속성 설명 파라미터 타입
String
기본값
N
범위
Y | N
-
예제
다음은 EBCDIC을 사용하도록 설정하는 예이다.
USE_BI_EBCDIC=Y
다음은 ASCII를 사용하도록 설정하는 예이다.
USE_BI_EBCDIC=N
1.17. USE_AQ_EBCDIC
정렬 대상의 데이터 타입이 AQ인 경우, 기본적인 정렬 순서(base sequence)를 설정하는 파라미터이다. EBCDIC이나 ASCII를 지정할 수 있다.
-
파라미터 형식
속성 설명 파라미터 타입
String
기본값
N
범위
Y | N
-
예제
다음은 EBCDIC을 사용하도록 설정하는 예이다.
USE_AQ_EBCDIC=Y
다음은 ASCII를 사용하도록 설정하는 예이다.
USE_AQ_EBCDIC=N
1.18. EBCDIC_CODEPAGE
EBCDIC 정렬 시 어떤 코드 페이지를 사용할지를 설정하는 파라미터이다.
-
파라미터 형식
속성 설명 파라미터 타입
String
기본값
CP500
범위
EBCDIK | CP500 | CP298
-
예제
다음은 EBCDIC 정렬할 때 코드 페이지 298을 사용하도록 설정하는 예이다.
EBCDIC_CODEPAGE=CP298
2. 기타 파라미터
다음은 기타 파라미터에 대한 설명이다.
| 파라미터 | 설명 |
|---|---|
스크립트에 EQUALS 옵션이 지정되어 있지 않아도 SORT 연산에서 stable sort를 수행하도록 설정한다. (기본값: N) |
|
데이터 타입에 따른 타당성 검사를 수행할지 여부를 설정한다. (기본값: N) |
|
SUM 연산 수행 시 스크립트에 LASTDUP 옵션이 지정되어 있지 않아도 LASTDUP이 지정된 것과 같이 동작하게 한다. (기본값: N) |
|
DATE 관련 옵션을 사용할 때 시스템 날짜 대신 사용할 날짜를 설정한다. |
2.1. USE_DEFAULT_EQUALS
스크립트에 EQUALS 옵션이 지정돼 있지 않아도 SORT 연산에서 stable sort를 수행하도록 설정하는 파라미터이다.
-
파라미터 형식
속성 설명 파라미터 타입
String
기본값
N
범위
Y | N
-
설정값
설정값 설명 Y
stable sort를 수행한다.
N
stable sort를 수행하지 않는다. (기본값)
2.2. CHECK_DATA_VALIDATION
데이터 타입에 따른 타당성 검사를 수행할지 여부를 설정하는 파라미터이다.
-
파라미터 형식
속성 설명 파라미터 타입
String
기본값
N
범위
Y | N
-
설정값
설정값 설명 Y
데이터 타입에 따른 타당성 검사를 수행한다. 타당하지 않을 경우 에러를 발생시킨다.
N
데이터 타입의 타당성 검사를 하지 않는다. (기본값)