성능 설정 편집
이 절에서는 Sun Java System Web Server 7.0 성능을 향상시키는 특정 조정 작업에 대해 설명합니다.
서버를 조정할 때는 사용자 환경이 고유하다는 점을 명심해야 합니다. 사용자의 환경에 따라 이 절에서 제공하는 제안 사항의 결과가 달라집니다. 따라서 사용자 환경에 가장 적합하게 조정하려면 사용자 스스로 판단하고 관찰해야 합니다.
HTTP 성능 설정 편집
HTTP 설정을 구성하려면 구성 > 구성 이름 > 성능 > HTTP를 누릅니다. 다음 표에서는 HTTP 설정에 대해 설명합니다.
표 10 필드 설명 > 일반 설정
필드 | 기본값 | 설명 |
요청 헤더 버퍼 크기 | 8192바이트 | 이 매개 변수는 헤더 크기가 제공된 값과 같거나 작은 경우에만 서버가 HTTP 요청을 처리하도록 명령합니다. 큰 크기의 헤더를 허용하면 서버 성능이 저하될 수 있습니다. |
형식이 잘못된 요청 헤더 거부 | 사용 안 함 | HTTP 사양과 충돌하는 잘못된 형식의 HTTP 요청 및 응답을 거부합니다. 기본적으로 이 매개 변수는 비활성화되어 있습니다. 사용 가능으로 설정된 경우 서버는 잘못된 형식의 요청 헤더를 확인합니다. |
최대 요청 헤더 | 64바이트 | 요청 처리에 허용되는 HTTP 요청 헤더의 최대 크기입니다. |
응답 버퍼 크기 | 8192바이트 | 서버의 HTTP 응답 버퍼 크기를 제한합니다. 이 매개변수 제어에 대한 자세한 내용은 Performance Tuning Guide를 참조하십시오. |
최대 청크 해제 크기 | 8192바이트 | 서버가 청크 해제할 청크된 HTTP 요청 본문의 최대 크기(바이트)입니다. 값의 범위는 0-214704836470입니다. |
청크 해제 시간 초과 | 60초 | 서버가 청크된 HTTP 요청 본문이 도착하기를 기다리는 최대 시간(초)입니다. 값의 범위는 0 - 3600 또는 시간 초과가 없는 경우 -1입니다. |
입출력 시간 초과 | 30초 | 서버가 개별 패킷을 기다리는 최대 시간(초)입니다. 값의 범위는 0-3600 또는 시간 초과가 없는 경우 -1입니다. |
요청 본문 시간 초과 | -1초 | 서버가 전체 HTTP 요청 본문을 기다리는 최대 시간(초)입니다. 값의 범위는 0-604800 또는 시간 초과가 없는 경우 -1입니다. |
요청 헤더 시간 초과 | -1초 | 서버가 전체 HTTP 요청 헤더를 기다리는 최대 시간(초)입니다. 값의 범위는 0-604800 또는 시간 초과가 없는 경우 -1입니다. |
표 11 필드 설명 > 스레드 풀 설정
필드 | 기본값 | 설명 |
스레드 풀 | 사용 가능 | 스레드 풀은 기본적으로 사용 가능으로 설정됩니다. |
최대 스레드 수 | Default | 이 매개 변수는 스레드 풀의 최대 스레드 수를 결정합니다. 더 높은 값을 사용하면 더 많은 요청을 동시에 실행할 수 있지만 컨텍스트 전환으로 인한 오버헤드가 많아지므로 값이 높다고 해서 항상 더 좋은 것만은 아닙니다. 일반적으로 이 수를 늘릴 필요가 없지만 CPU를 과다하게 사용하고 있지 않은데도 요청이 대기열에 쌓인다면 이 수를 늘려야 합니다. |
최소 스레드 수 | Default | 이 매개 변수는 스레드 풀의 최소 스레드 수를 결정합니다. |
스택 크기 | 13107.02 | 이 매개 변수는 스레드 풀에 있는 각 스레드의 스택 크기(바이트)를 결정합니다. |
대기열 크기 | 1024 | 이 매개 변수는 대기열에서 스레드 풀을 기다릴 수 있는 스레드 수를 결정합니다. 풀에 있는 모든 스레드가 사용 중인 경우 원시 풀에서 스레드를 사용해야 하는 다음 요청 처리 스레드는 대기열에서 기다려야 합니다. 대기열이 가득 찬 경우 대기열에 들어가려고 하는 다음 요청 처리 스레드는 거부되며, 이에 따라 클라이언트에게 사용 중 응답을 반환합니다. 그러면 대기열에서 기다리지 않고 들어오는 다른 요청을 처리할 수 있습니다. |
표 12 필드 설명 > 연결 유지 설정
필드 | 기본값 | 설명 |
연결 유지 | 사용 가능 | Sun Java System Web Server 7.0에서 연결 유지(또는 HTTP/1.1 지속성 연결 처리) 하위 시스템은 대규모 확장이 가능하도록 디자인되었습니다. 바로 사용할 수 있는 구성은 작업 로드가 비지속적이거나(즉, 연결 유지 헤더가 없는 HTTP/1.0) 연결 유지 연결을 주로 처리하는 로드가 적은 시스템에 대해서는 최적의 구성이 아닐 수 있습니다. |
스레드 | Default | 이 매개 변수는 연결 유지 하위 시스템의 스레드 수를 결정합니다. 이 수는 시스템에 있는 프로세서 수의 배수로서 작은 수가 좋습니다(예: 2 CPU 시스템에는 2 또는 4개의 연결 유지 스레드가 있어야 함). |
최대 연결 수 | Default | 이 매개 변수는 웹 서버가 언제든지 유지 관리할 수 있는 연결 유지 연결의 최대 수를 제어합니다. 범위는 1-1048576입니다. |
시간 초과 | 30초 | 이 매개 변수는 서버가 HTTP 연결 유지 연결 또는 클라이언트와 서버 사이의 지속적인 연결을 유지하는 최대 시간(초)을 결정합니다. 기본값은 30초입니다. 유휴 시간이 30초를 넘으면 연결 시간이 초과됩니다. 최대값은 300초(5분)입니다. |
폴링 간격 | 0.001초 | 서버 폴링이 시작되기 전까지의 시간입니다. |
DNS 설정 편집
DNS 설정을 구성하려면 구성 > 구성 이름 > 성능 > DNS를 누릅니다. 다음 표에서는 Sun Java System Web Server 7.0 성능에 영향을 줄 수 있는 공통 DNS 설정에 대해 설명합니다.
표 13 필드 설명 > DNS 설정
필드 | 기본값 | 설명 |
DNS 조회 | 사용 안 함 | 서버가 DNS 조회를 수행하는지 여부를 지정합니다. 기본값은 false입니다. |
비동기 DNS | 사용 안 함 | 서버가 운영 체제의 동기 resolver 대신 자체 비동기 DNS resolver를 사용하는지 여부를 지정합니다. 기본값은 true입니다. |
시간 초과 | 12초 | 비동기 DNS 조회에 대한 시간 초과(초)입니다. 값의 범위는 0.001 – 3600입니다. |
DNS 캐시 | 사용 가능 | DNS 캐시는 IP 주소 및 DNS 이름을 캐시합니다. 기본적으로 서버의 DNS 캐시는 사용 가능합니다. |
최대 캐시 크기 | 1024개 항목 | 서버에서 허용하는 캐시 항목의 최대 수입니다. 단일 캐시 항목은 단일 IP 주소 또는 DNS 이름 조회를 나타냅니다. 캐시는 웹 사이트에 동시에 액세스할 최대 클라이언트 수만큼 커야 합니다. 캐시 크기를 너무 높게 설정하면 메모리가 낭비되고 성능이 저하됩니다. |
캐시 만료 시간 | 120초 | DNS 항목을 만료할 시간입니다. 이 만료 시간 후 조회가 새로 고쳐집니다. |
SSL 및 TLS 설정 편집
SSL 및 TLS 설정을 구성하려면 구성 > 구성 이름 > 성능 > SSL 및 TLS를 누릅니다. 다음 표에서는 Sun Java System Web Server 7.0 성능에 영향을 줄 수 있는 SSL 및 TLS 설정에 대해 설명합니다.
표 14 필드 설명 > SSL 및 TLS 설정
필드 | 기본값 | 설명 |
SSL 캐시 | 사용 가능 | 서버가 SSL/TLS 세션을 캐시하는지 여부를 지정합니다. 기본값은 true입니다. |
최대 캐시 크기 | 10000개 항목 | 서버가 캐시할 최대 SSL/TLS 세션 수입니다. 값의 범위는 1 - 524288입니다. |
SSL2 세션 사용 기간 | 100초 | SSL2 세션을 캐시하는 최대 시간입니다. 값의 범위는 5 - 100입니다. |
SSL3/TLS 세션 사용 기간 | 86400초 | SSL3/TLS 세션을 캐시하는 최대 시간입니다. 값의 범위는 5 - 86400입니다. |
캐시 설정 편집
캐시 설정을 구성하려면 구성 > 구성 이름 > 성능 > 캐시를 누릅니다. 다음 표에서는 Sun Java System Web Server 7.0 성능에 영향을 줄 수 있는 캐시 설정에 대해 설명합니다.
표 15 필드 설명 > 캐시 설정
필드 | 기본값 | 설명 |
캐시 파일 내용 | 사용 가능 | 기본적으로 파일 캐시는 사용하도록 설정됩니다. 설정에 대한 자세한 내용은 Administrator's Configuration File Reference를 참조하십시오. |
sendfile 사용 | 사용 안 함 | 이 옵션을 활성화하면 서버는 파일 캐시에 파일 내용 대신 파일에 대한 열린 파일 설명자를 캐시하며 PR_TransmitFile을 사용하여 클라이언트에게 파일 내용을 보냅니다. 이 옵션이 활성화되어 있으면 열린 파일 설명자만 캐시되므로 일반적으로 파일 캐시에서 사용하는 소형, 중형 및 대형 파일 등의 구분 방법은 더 이상 적용되지 않습니다. 기본적으로 이 옵션은 Windows에서는 사용 가능으로 설정되고 UNIX에서는 사용 안 함으로 설정됩니다. UNIX의 경우 HP-UX 및 AIX를 포함하여 OS 자체에서 PR_TransmitFile을 지원하는 플랫폼에서만 이 옵션을 활성화합니다. 다른 UNIX/Linux 플랫폼에서는 권장되지 않습니다. |
최대 사용 기간 | 30초 | 이 설정에 따라 파일을 캐시한 후에 캐시된 정보를 계속하여 사용하는 시간이 달라집니다. 지정된 값보다 오래된 항목은 같은 파일이 캐시를 통해 참조되는 경우 같은 파일에 대한 새 항목으로 대체됩니다. 내용이 일정한 간격으로 업데이트(기존 파일이 변경)되는지 여부에 따라 최대 사용 기간을 설정합니다. 예를 들어, 내용이 일정한 간격으로 하루에 네 번 업데이트되는 경우 최대 사용 기간을 3600초로 설정할 수 있습니다. 또는 파일이 수정된 후 내용 파일의 이전 버전을 유지할 수 있는 가장 긴 시간으로 최대 사용 기간을 설정할 수도 있습니다. 파일 내용 및/또는 메타 정보를 캐시할 최대 시간(초)입니다. 값의 범위는 0.001 - 3600입니다. |
최대 항목 수 | 1024개 항목 | 내용 및/또는 메타 정보를 캐시할 경로의 최대 수입니다. 값의 범위는 1 - 10485706입니다. |
최대 열린 파일 수 | Default | 파일 캐시가 열린 상태를 유지할 파일 설명자의 최대 수입니다. 값의 범위는 1 - 1073741824입니다. |
디렉토리에 파일 복사 | 사용 안 함 | 서버가 캐시된 파일을 임시 디렉토리에 복사할지 여부를 지정합니다. 기본값은 Windows에서는 true로 설정되고 다른 플랫폼에서는 false로 설정됩니다. |
디렉토리 경로 | - | 파일 복사가 true인 경우 사용되는 임시 디렉토리입니다. 절대 경로 또는 서버의 구성 디렉토리에 대한 상대 경로입니다. |
대체 알고리즘 | LRU | 캐시 항목 대체 알고리즘입니다. 값은 None, LRU 또는 LFU입니다. |
캐시 파일 내용 | 사용 가능 | 서버가 파일 내용을 캐시하는지 여부를 지정합니다. 기본값은 true입니다. |
최대 힙 파일 크기 | 524288바이트 | 힙에 캐시할 파일의 최대 크기(바이트)입니다. 값의 범위는 0 - 2147483647입니다. |
최대 힙 공간 크기 | 104857060바이트 | 파일 캐싱에 사용할 힙의 최대 크기(바이트)입니다. 값의 범위는 0 - 9223372036854775807입니다. |
최대 메모리 맵 파일 크기 | 0바이트 | 메모리 매핑할 파일의 최대 크기(바이트)입니다. 값의 범위는 0 - 2147483647입니다. |
최대 메모리 맵 주소 공간 | 0바이트 | 파일을 캐시하는 데 사용할 메모리 맵 주소 공간의 최대 크기(바이트)입니다. 값의 범위는 0 - 9223372036854775807입니다. |
캐시 ACL 인증 | 사용 가능 | ACL 사용자 캐시는 기본적으로 설정되어 있습니다. 캐시의 기본 크기(200개 항목)로 인해 ACL 사용자 캐시에 병목 현상이 발생하거나 트래픽이 과중한 사이트에서는 제대로 수행되지 않을 수 있습니다. 사용량이 많은 사이트에서는 200명 이상의 사용자가 캐시 항목의 수명 제한 시간 이내에 ACL로 보호된 자원에 접속할 수 있습니다. 이러한 상황이 발생하면 서버가 사용자 검증을 위해 보다 빈번하게 LDAP 서버에 쿼리해야 하므로 성능에 영향을 미치게 됩니다. |
최대 사용자 수 | 200 | 이 지시문을 사용자 수를 결정하는 수로 설정합니다(기본값은 200). |
최대 그룹 수 | 4 | 이 지시문을 단일 UID/캐시 항목에 대해 캐시할 수 있는 그룹 ID 수를 결정하는 수로 설정합니다(기본값은 4). |
캐시 시간 초과 | 120초 | 이 지시문을 캐시 항목이 만료되기 전 시간(초)을 결정하는 수로 설정합니다. 캐시에 있는 항목이 참조될 때마다 지정된 시간(초)에 대해 사용 기간을 계산하고 확인합니다. 사용 기간이 지정된 시간(초)보다 크거나 같으면 항목을 사용하지 않습니다. 기본값은 120초입니다. 이 값을 0으로 설정하면 캐시가 해제됩니다. 이 값에 큰 수를 사용하면 LDAP 항목을 변경할 때마다 서버를 다시 시작해야 합니다. 예를 들어, 이 값을 120초로 설정하면 서버가 최대 2분까지 LDAP 서버와 동기화되지 않을 수 있습니다. LDAP가 자주 변경되지 않으면 큰 수를 사용하십시오. |
CGI 설정 편집
CGI 설정을 구성하려면 구성 > 구성 이름 > 성능 > CGI를 누릅니다. 다음 표에서는 Sun Java System Web Server 7.0 성능에 영향을 줄 수 있는 CGI 설정에 대해 설명합니다.
표 16 필드 설명 > CGI 설정
필드 | 기본값 | 설명 |
CGI 시간 초과 | -1 | 서버가 오래 실행되는 CGI 프로그램을 종료하기 위해 사용하는 시간 초과(초)입니다. 값의 범위는 0.001 - 3600 또는 시간 초과가 없는 경우 -1입니다. |
CGI 유휴 시간 초과 | 300 | 서버가 응답 없는 CGI 프로그램을 종료할 때 사용하는 시간 초과(초)입니다. 값의 범위는 0.001 - 3600입니다. |
CGI 스텁 시간 초과 | 30 | 사용되지 않는 Cgistub 프로세스를 종료할 때 사용하는 시간 초과(초)입니다. 값의 범위는 0.001 - 3600입니다. |
CGI 스텁 실행 파일 | Default | 사용자 정의 CGI 스텁 실행 파일에 대한 경로입니다. |
최소 스텁 크기 | 0 | 서버가 CGI 프로그램 실행을 대기하면서 유지할 최소 Cgistub 프로세스 수입니다. 값의 범위는 0 - 4096입니다. |
최대 스텁 크기 | 16 | 서버가 CGI 프로그램 실행을 대기하면서 유지할 최대 Cgistub 프로세스 수입니다. 값의 범위는 1 - 4096입니다. |
액세스 로그 버퍼 설정 편집
액세스 로그 버퍼 설정을 구성하려면 구성 > 구성 이름 > 성능 > 액세스 로그 버퍼를 누릅니다. 다음 표에서는 Sun Java System Web Server 7.0 성능에 영향을 줄 수 있는 액세스 로그 버퍼 설정에 대해 설명합니다.
표 17 필드 설명 > 액세스 로그 버퍼 설정
필드 | 기본값 | 설명 |
버퍼 로그 업데이트 | 사용 가능 | 시스템 버퍼 액세스 로그를 업데이트할지 여부를 지정합니다. 기본값은 true입니다. |
버퍼 크기 | 8192바이트 | 개별 액세스 로그 버퍼의 크기(바이트)입니다. 값의 범위는 4096 - 10485706입니다. |
서버당 최대 버퍼 | Default | 서버당 최대 액세스 로그 버퍼 수입니다. 값의 범위는 1 - 65536입니다. |
파일당 최대 버퍼 | 8 | 액세스 로그 파일당 최대 액세스 로그 버퍼 수입니다. 값의 범위는 1 - 128입니다. |
최대 사용 기간 | 1초 | 지정된 액세스 로그 항목을 버퍼링하는 최대 시간입니다. 값의 범위는 0.001 - 3600입니다. |