Post date: Dec 16, 2016 2:18:20 AM
서버의 성능을 향상시키기 위해 Windows 시스템을 사용자 정의해야 할 수 있습니다. Windows 2003 및 Windows XP 시스템의 구성을 조정하는 데 필요한 팁이 아래에 나와 있습니다. 이러한 시스템이 변경되어 다음 제안을 사용하지 못하게 될 수 있으며 결과가 다를 수 있습니다.
성능 향상을 위해 변경사항을 작성하기 전에 현재 성능을 측정했는지 확인하십시오. 트랜잭션 비율, 응답 시간, 최대 동시 사용자 수 또는 몇몇 기타 성능 기준에 관심이 있는지 여부에 관계없이 변경사항 작성 전후에 성능 조정 매개변수 변경으로 인해 차이가 발생했는지 여부를 알 수 있을 정도로 정확하게 측정해야 합니다.
TcpTimedWaitDelay 값은 TCP/IP가 닫힌 연결을 해제하여 자원을 다시 사용하기 전에 경과되어야 하는 시간을 결정합니다. 닫기와 해제 사이의 이 간격은 TIME_WAIT 상태 또는 최대 세그먼트 지속 시간의 두배(2MSL) 상태로 알려져 있습니다. 이 시간 동안 클라이언트 및 서버로의 연결을 다시 여는 것이 새 연결을 설정하는 것보다 비용이 적게 듭니다. 이 항목의 값을 줄이면 TCP/IP는 닫힌 연결을 더욱 빨리 해제할 수 있으며 새 연결에 더 많은 자원을 제공합니다. TIME_WAIT 상태에 있는 여러 연결로 인해 발생한 낮은 처리량 때문에 실행 중인 응용프로그램에 빠른 해제, 새 연결 작성 또는 조정이 필요할 경우 이 매개변수를 조정하십시오.
기본값은 0xF0입니다(대기 시간을 240초(4분)로 설정함).
최소 권장 값은 0x1E입니다(대기 시간을 30초로 설정함). 다음 프로시저를 사용하여 값을 보거나 사용자 정의하십시오.
MaxUserPort 값은 응용프로그램이 시스템에서 사용 가능한 사용자 포트를 요청할 때 TCP/IP가 지정할 수 있는 가장 높은 포트 번호를 결정합니다. 시스템에서 소켓 확립 중 오류 발생 예외를 보고할 경우(특히 웹 서비스, 데이터베이스 또는 기타 원격 자원에 대한 연결을 설정하기 위해 시스템에서 많은 수의 포트를 열 경우) 익명(임시) 포트 수가 적절하지 않은 것이 원인이 될 수 있습니다.
Windows에서는 익명(임시) 포트를 위해 1024에서 5000까지의 포트 번호를 예약해 두는 것이 기본값입니다.
일반적으로 이 값은 32768로 설정합니다. 다음 프로시저를 사용하여 값을 보거나 사용자 정의하십시오.
동적 백로그 값을 사용하면 연결 요청의 버스트를 허용하도록 시스템이 구성을 자동으로 조정할 수 있습니다. 동시에 많은 연결 요청이 수신될 경우 동적 백로그 지원을 사용하면 지원될 수 있는 보류 연결 수를 늘려 연결 장애를 줄일 수 있습니다.
Windows에서는 동적 백로그가 사용 가능하지 않은 것이 기본값입니다.
다음 프로시저를 사용하여 값을 보거나 사용자 정의하십시오.
KeepAliveTime 값은 TCP/IP가 대기 연결이 계속 원래 상태를 유지하는지 확인을 시도하는 빈도를 제어합니다. 이 시간 동안 활동이 없었을 경우 활성화 상태 지속 전송이 전송됩니다. 네트워크가 원래 상태를 유지하며 상대가 활성 상태일 경우 상대가 응답합니다. 손실된 상대에 대해 민감하게 되려는 경우(즉, 상대가 손실되었음을 더 빨리 인식해야할 경우) 이 값을 줄여 보십시오. 오랜 기간 동안 비활성 상태를 유지하는 연결은 공통이고 손실된 상대는 공통이 아닐 경우 이 값을 늘려 오버헤드를 줄여도 됩니다.
7,200,000밀리초(2시간) 동안 대기 연결이 비활성 상태일 경우 Windows에서는 활성화 상태 지속 메시지를 전송하는 것이 기본값입니다. 종종 값에 1,800,000밀리초를 선택하여 반쯤 닫힌 연결을 30분마다 감지합니다.
다음 프로시저를 사용하여 값을 보거나 사용자 정의하십시오.
KeepAliveInterval 값은 상대로부터 활성화 상태 지속 응답이 수신되지 않을 경우 TCP/IP에서 활성화 상태 지속 전송을 반복하는 빈도를 결정합니다. 응답이 없는 연속적인 활성화 상태 지속 전송 수가 TcpMaxDataRetransmissions의 값을 초과할 경우 연결이 중단됩니다. 응답 시간이 길 것으로 예상될 경우 이 값을 늘려 오버헤드를 줄여야 할 수 있습니다. 상대가 손실되었는지 확인하는 데 소비되는 시간을 줄여야 할 경우 이 값 또는 TcpMaxDataRetransmissions 값을 줄여 보십시오.
Windows에서는 활성화 상태 지속 메시지를 재전송하기 전에 1000밀리초(1초) 동안 활성화 상태 지속 응답을 대기하는 것이 기본값입니다.
다음 프로시저를 사용하여 값을 보거나 사용자 정의하십시오.
TcpMaxDataRetranmission 값은 TCP/IP가 기존 연결에 대한 수신확인되지 않은 데이터 세그먼트를 재전송하는 횟수를 결정합니다. 네트워크 품질이 낮을 경우 이 값을 늘려 효과적인 통신을 유지해야 할 수 있습니다. 네트워크 품질이 높으며 일반적으로 손실된 상대로 인해 데이터가 손실될 경우 이 값을 줄여 상대가 손실되었는지 확인하는 데 걸리는 시간을 줄여도 됩니다.
Windows에서는 수신확인되지 않은 데이터 세그먼트를 다섯 번 재전송하는 것이 기본값입니다.
다음 프로시저를 사용하여 값을 보거나 사용자 정의하십시오.
TcpAckFrequency 값은 TCP/IP가 수신확인 메시지를 전송하는 빈도를 결정합니다.
TCP/IP 수신확인 지연을 제거하여 응답 시간을 향상해야 할 경우 이 값을 1로 설정하십시오. 이렇게 하면 TCP/IP는 모든 세그먼트에 수신확인을 즉시 전송합니다. 연결이 주로 대용량 데이터를 이동하는 데 사용되며 200밀리초가 무의미할 경우 이 값을 늘려 수신확인의 오버헤드를 줄여도 됩니다.
Windows에서는 기본값으로 2를 사용합니다(다른 모든 세그먼트를 수신확인함). 이 값의 유효한 범위는 0에서 255까지입니다(여기서 0은 기본값(2)을 사용해야 한다는 것을 의미함).
다음 프로시저를 사용하여 값을 보거나 사용자 정의하십시오.
가상 기억장치를 관리하기 위해 대용량 페이지 지원을 사용하면 JVM(Java Virtual Machine)에서 대용량 힙을 관리하는 CPU 오버헤드를 줄일 수 있습니다. Windows에서는 대용량 페이지 지원을 제공하는 것이 기본값이지만 이 지원을 사용하려면 가상 시스템이 지원을 사용할 수 있도록 가상 시스템 시작 시 -Xlp JVM 옵션을 지정해야 합니다.
LINK : http://publib.boulder.ibm.com/wasce/V1.0.1/ko/Tasks/Tuning/Windows.html