Share via


원격 데스크톱 세션 호스트 성능 튜닝

이 항목에서는 RD 세션 호스트(원격 데스크톱 세션 호스트) 하드웨어를 선택하고, 호스트를 조정하고, 애플리케이션을 조정하는 방법에 대해 설명합니다.

항목 내용

성능에 맞는 적절한 하드웨어 선택

RD 세션 호스트 서버 배포의 경우 하드웨어 선택은 애플리케이션 집합 및 사용자가 사용하는 방법에 따라 제어됩니다. 사용자 수와 해당 환경에 영향을 주는 주요 요소는 CPU, 메모리, 디스크 및 그래픽입니다. 이 섹션에는 RD 세션 호스트 서버와 관련되고 주로 RD 세션 호스트 서버의 다중 사용자 환경과 관련된 추가 지침이 포함되어 있습니다.

CPU 구성

CPU 구성은 임시 급증을 처리하기 위해 버퍼 영역을 기본 동안 시스템에서 지원해야 하는 세션 수만큼 세션을 지원하는 데 필요한 CPU를 곱하여 개념적으로 결정됩니다. 여러 논리 프로세서는 비정상적인 CPU 정체 상황을 줄이는 데 도움이 될 수 있으며, 이는 일반적으로 비슷한 수의 논리 프로세서에 포함된 몇 가지 과활성 스레드로 인해 발생합니다.

따라서 시스템에서 논리 프로세서가 많을수록 CPU 사용량 추정치에 기본으로 제공되어야 하는 쿠션 여백이 낮아질수록 CPU당 활성 부하가 더 많이 발생합니다. 기억해야 할 중요한 요소 중 하나는 CPU 수를 두 배로 늘리면 CPU 용량이 두 배가 되지 않는다는 것입니다.

메모리 구성

메모리 구성은 사용자가 사용하는 애플리케이션에 따라 달라집니다. 그러나 필요한 메모리 양은 TotalMem = OSMem + SessionMem * NS 수식을 사용하여 예측할 수 있습니다.

OSMem은 운영 체제에서 실행하는 데 필요한 메모리(예: 시스템 이진 이미지, 데이터 구조 등)이며, SessionMem은 한 세션에서 실행되는 메모리 프로세스의 양이며 NS는 활성 세션의 대상 수입니다. 세션에 필요한 메모리의 양은 주로 세션 내에서 실행되는 애플리케이션 및 시스템 프로세스에 대한 프라이빗 메모리 참조 집합에 의해 결정됩니다. 공유 코드 또는 데이터 페이지는 시스템에 복사본이 하나만 있기 때문에 거의 영향을 미치지 않습니다.

한 가지 흥미로운 관찰(페이지 파일을 백업하는 디스크 시스템이 변경되지 않는다고 가정)은 시스템에서 지원하려는 동시 활성 세션 수가 클수록 세션당 메모리 할당이 커야 한다는 것입니다. 세션당 할당된 메모리 양이 증가하지 않으면 활성 세션에서 생성하는 페이지 오류 수가 세션 수에 따라 증가합니다. 이러한 오류는 결국 I/O 하위 시스템을 압도합니다. 세션당 할당되는 메모리 양을 늘리면 페이지 오류가 발생할 확률이 감소하여 페이지 오류의 전체 속도를 줄일 수 있습니다.

디스크 구성

스토리지는 RD 세션 호스트 서버를 구성할 때 가장 간과되는 측면 중 하나이며, 필드에 배포되는 시스템에서 가장 일반적인 제한 사항일 수 있습니다.

일반적인 RD 세션 호스트 서버에서 생성되는 디스크 작업은 다음 영역에 영향을 줍니다.

  • 시스템 파일 및 애플리케이션 이진 파일

  • 페이지 파일

  • 사용자 프로필 및 사용자 데이터

이상적으로 이러한 영역은 고유한 스토리지 디바이스에서 백업해야 합니다. 스트라이프 RAID 구성 또는 다른 유형의 고성능 스토리지를 사용하면 성능이 더욱 향상됩니다. 배터리 지원 쓰기 캐싱이 있는 스토리지 어댑터를 사용하는 것이 좋습니다. 디스크 쓰기 캐싱이 있는 컨트롤러는 동기 쓰기 작업에 대한 향상된 지원을 제공합니다. 모든 사용자에게는 별도의 하이브가 있으므로 RD 세션 호스트 서버에서 동기 쓰기 작업이 훨씬 더 일반적입니다. 레지스트리 하이브는 동기 쓰기 작업을 사용하여 주기적으로 디스크에 저장됩니다. 이러한 최적화를 사용하도록 설정하려면 디스크 관리 콘솔에서 대상 디스크에 대한 속성 대화 상자를 열고 정책 탭에서 디스크에서 쓰기 캐싱 사용 및 디바이스 검사 상자에서 Windows 쓰기 캐시 버퍼 플러시 해제를 선택합니다.

네트워크 구성

RD 세션 호스트 서버의 네트워크 사용량에는 두 가지 기본 범주가 포함됩니다.

  • RD 세션 호스트 연결 트래픽 사용량은 세션 내에서 실행되는 애플리케이션 및 리디렉션된 디바이스 I/O 트래픽에 의해 표시되는 그리기 패턴에 의해 거의 독점적으로 결정됩니다.

    예를 들어 텍스트 처리 및 데이터 입력을 처리하는 애플리케이션은 초당 약 10~100킬로비트의 대역폭을 사용하는 반면, 풍부한 그래픽 및 비디오 재생으로 인해 대역폭 사용량이 크게 증가합니다.

  • 로밍 프로필, 파일 공유에 대한 애플리케이션 액세스, 데이터베이스 서버, 전자 메일 서버 및 HTTP 서버와 같은 백 엔드 연결

    네트워크 트래픽의 볼륨 및 프로필은 각 배포에 따라 다릅니다.

원격 데스크톱 세션 호스트에 대한 애플리케이션 튜닝

RD 세션 호스트 서버에서 CPU 사용량의 대부분은 앱에 의해 구동됩니다. 데스크톱 앱은 일반적으로 애플리케이션이 사용자 요청에 응답하는 데 걸리는 시간을 최소화하기 위해 응답성으로 최적화됩니다. 그러나 서버 환경에서는 다른 세션에 부정적인 영향을 주지 않도록 작업을 완료하는 데 필요한 총 CPU 사용량을 최소화하는 것도 똑같이 중요합니다.

RD 세션 호스트 서버에서 사용할 앱을 구성할 때 다음 제안을 고려합니다.

  • 백그라운드 유휴 루프 처리 최소화

    일반적인 예로는 배경 문법 및 맞춤법 검사, 검색을 위한 데이터 인덱싱 및 백그라운드 저장을 사용하지 않도록 설정하는 것이 있습니다.

  • 앱이 상태 검사 또는 업데이트를 수행하는 빈도를 최소화합니다.

    이러한 동작을 사용하지 않도록 설정하거나 폴링 반복과 타이머 실행 사이의 간격을 늘리면 많은 활성 세션에서 이러한 활동의 효과가 빠르게 증폭되기 때문에 CPU 사용량이 크게 향상됩니다. 일반적인 예로는 연결 상태 아이콘 및 상태 막대 정보 업데이트가 있습니다.

  • 동기화 빈도를 줄여 앱 간의 리소스 경합을 최소화합니다.

    이러한 리소스의 예로는 레지스트리 키 및 구성 파일이 있습니다. 애플리케이션 구성 요소 및 기능의 예로는 상태 표시기(예: 셸 알림), 백그라운드 인덱싱 또는 변경 모니터링 및 오프라인 동기화가 있습니다.

  • 사용자 로그인 또는 세션 시작으로 시작하도록 등록된 불필요한 프로세스를 사용하지 않도록 설정합니다.

    이러한 프로세스는 일반적으로 CPU를 많이 사용하는 프로세스인 새 사용자 세션을 만들 때 CPU 사용량 비용에 크게 기여할 수 있으며 아침 시나리오에서는 비용이 매우 많이 들 수 있습니다. MsConfig.exe 또는 MsInfo32.exe를 사용하여 사용자 로그인 시 시작되는 프로세스 목록을 가져옵니다. 자세한 내용은 Windows용 자동 실행을 사용할 수 있습니다.

메모리 사용의 경우 다음을 고려해야 합니다.

  • 앱에서 로드한 DLL이 재배치되지 않는지 확인합니다.

    • 다음 그림과 같이 프로세스 탐색기를 사용하여 프로세스 DLL 보기를 선택하여 재배치된 DLL을 확인할 수 있습니다.

    • 여기서는 x.dll이 이미 기본 기본 주소를 차지하고 ASLR이 사용하도록 설정되지 않았기 때문에 y.dll이 재배치되었음을 확인할 수 있습니다.

      relocated dlls

      DLL을 재배치하는 경우 세션 간에 코드를 공유할 수 없으므로 세션의 공간이 크게 증가합니다. RD 세션 호스트 서버에서 가장 일반적인 메모리 관련 성능 문제 중 하나입니다.

  • CLR(공용 언어 런타임) 애플리케이션의 경우 네이티브 이미지 생성기(Ngen.exe)를 사용하여 페이지 공유를 늘리고 CPU 오버헤드를 줄입니다.

    가능하면 비슷한 기술을 다른 유사한 실행 엔진에 적용합니다.

원격 데스크톱 세션 호스트 튜닝 매개 변수

페이지 파일

페이지 파일 크기가 부족하면 앱 또는 시스템 구성 요소에서 메모리 할당 오류가 발생할 수 있습니다. 메모리에서 커밋된 바이트 성능 카운터를 사용하여 시스템에 커밋된 가상 메모리의 양을 모니터링할 수 있습니다.

바이러스 백신

RD 세션 호스트 서버에 바이러스 백신 소프트웨어를 설치하면 전반적인 시스템 성능, 특히 CPU 사용량에 큰 영향을 줍니다. 활성 모니터링 목록에서 임시 파일을 보관하는 모든 폴더, 특히 서비스 및 기타 시스템 구성 요소가 생성하는 폴더를 제외하는 것이 좋습니다.

작업 Scheduler

작업 스케줄러를 사용하면 다양한 이벤트에 대해 예약된 작업 목록을 검사할 수 있습니다. RD 세션 호스트 서버의 경우 유휴 상태, 사용자 로그인 또는 세션 연결 및 연결 끊기 시 실행되도록 구성된 작업에 특히 집중하는 것이 유용합니다. 배포의 세부 사항 때문에 이러한 작업의 대부분은 필요하지 않을 수 있습니다.

데스크톱 알림 아이콘

데스크톱의 알림 아이콘에는 상당히 비용이 많이 드는 새로 고침 메커니즘이 있을 수 있습니다. 시작 목록에서 등록하는 구성 요소를 제거하거나 앱 및 시스템 구성 요소의 구성을 변경하여 알림을 사용하지 않도록 설정해야 합니다. 알림 사용자 지정 아이콘을 사용하여 서버에서 사용할 수 있는 알림 목록을 검사할 수 있습니다.

원격 데스크톱 프로토콜 데이터 압축

원격 데스크톱 프로토콜 압축 컴퓨터 구성>에서 그룹 정책을 사용 하 여 구성할 수 있습니다관리이상 템플릿>Windows 구성 요소>원격 데스크톱 서비스>원격 데스크톱 세션 호스트>원격 세션 환경>RemoteFX 데이터에 대 한 압축을 구성 합니다. 다음 세 가지 값을 사용할 수 있습니다.

  • 메모리 를 적게 사용하도록 최적화된 경우 세션당 최소 메모리를 사용하지만 압축 비율이 가장 낮으므로 대역폭 사용량이 가장 높습니다.

  • 메모리 및 네트워크 대역폭 감소 대역 폭 사용량의 균형을 유지하면서 메모리 사용량을 약간 증가합니다(세션당 약 200KB).

  • 더 적은 네트워크 대역폭 을 사용하도록 최적화되어 세션당 약 2MB의 비용으로 네트워크 대역폭 사용량을 줄일 수 있습니다. 이 설정을 사용하려면 프로덕션 환경에 서버를 배치하기 전에 이 설정을 사용하여 최대 세션 수를 평가하고 해당 수준으로 테스트해야 합니다.

원격 데스크톱 프로토콜 압축 알고리즘을 사용하지 않도록 선택할 수도 있으므로 네트워크 트래픽을 최적화하도록 설계된 하드웨어 디바이스에서만 사용하는 것이 좋습니다. 압축 알고리즘을 사용하지 않도록 선택하더라도 일부 그래픽 데이터가 압축됩니다.

디바이스 리디렉션

디바이스 리디렉션은 컴퓨터 구성>관리이상 템플릿>Windows 구성 요소>원격 데스크톱 서비스>원격 데스크톱 세션 호스트>디바이스 및 리소스 리디렉션에서 그룹 정책을 사용하거나 서버 관리자 세션 컬렉션 속성 상자를 사용하여 구성할 수 있습니다.

일반적으로 디바이스 리디렉션은 클라이언트 컴퓨터의 디바이스와 서버 세션에서 실행되는 프로세스 간에 데이터가 교환되기 때문에 RD 세션 호스트 서버 연결에서 사용하는 네트워크 대역폭의 양을 증가합니다. 증가 범위는 리디렉션된 디바이스에 대해 서버에서 실행되는 애플리케이션에서 수행하는 작업 빈도의 함수입니다.

프린터 리디렉션 및 플러그 앤 플레이 디바이스 리디렉션은 로그인 시 CPU 사용량도 증가합니다. 두 가지 방법으로 프린터를 리디렉션할 수 있습니다.

  • 프린터용 드라이버를 서버에 설치해야 하는 경우 프린터 드라이버 기반 리디렉션과 일치합니다. 이전 버전의 Windows Server에서는 이 메서드를 사용했습니다.

  • Windows Server 2008에서 도입된 Easy Print 프린터 드라이버 리디렉션은 모든 프린터에 공통 프린터 드라이버를 사용합니다.

연결 시 프린터 설치에 대한 CPU 사용량이 줄어들기 때문에 Easy Print 메서드를 사용하는 것이 좋습니다. 일치하는 드라이버 메서드는 스풀러 서비스가 다른 드라이버를 로드해야 하므로 CPU 사용량이 증가합니다. 대역폭 사용의 경우 Easy Print를 사용하면 네트워크 대역폭 사용량이 약간 증가하지만 다른 성능, 관리 효율성 및 안정성 이점을 상쇄하기에는 충분하지 않습니다.

오디오 리디렉션으로 인해 네트워크 트래픽이 꾸준히 스트리밍됩니다. 또한 오디오 리디렉션을 통해 사용자는 일반적으로 CPU 사용량이 많은 멀티미디어 앱을 실행할 수 있습니다.

클라이언트 환경 설정

기본적으로 RDC(원격 데스크톱 커넥트ion)는 서버와 클라이언트 컴퓨터 간의 네트워크 연결 적합성에 따라 적절한 환경 설정을 자동으로 선택합니다. RDC 구성은 연결 품질 검색에서 자동으로 다시 기본 것이 좋습니다.

고급 사용자의 경우 RDC는 원격 데스크톱 서비스 연결에 대한 네트워크 대역폭 성능에 영향을 주는 다양한 설정을 제어합니다. 원격 데스크톱 커넥트ion의 환경 탭을 사용하거나 RDP 파일의 설정으로 다음 설정에 액세스할 수 있습니다.

다음 설정은 컴퓨터에 연결할 때 적용됩니다.

  • 배경 화면 사용 안 함(배경 화면 사용 안 함:i:0) 리디렉션된 연결에 바탕 화면 배경 화면이 표시되지 않습니다. 이 설정은 바탕 화면 배경 화면이 그리기에 상당한 비용이 드는 이미지 또는 기타 콘텐츠로 구성된 경우 대역폭 사용량을 크게 줄일 수 있습니다.

  • 비트맵 캐시 (Bitmapcachepersistenable:i:1) 이 설정을 사용하도록 설정하면 세션에서 렌더링되는 비트맵의 클라이언트 쪽 캐시를 만듭니다. 대역폭 사용이 크게 향상되었으며 다른 보안 고려 사항이 없는 한 항상 사용하도록 설정해야 합니다.

  • 때 창 내용 표시(전체 창 끌기 사용 안 함:i:1) 이 설정을 사용하지 않도록 설정하면 창을 끌 때 모든 콘텐츠 대신 창 프레임만 표시하여 대역폭을 줄입니다.

  • 메뉴 및 창 애니메이션 (메뉴 anims:i:1 사용 안 함 및 커서 설정 사용 안 함:i:1): 이러한 설정을 사용하지 않도록 설정하면 메뉴(예: 페이딩) 및 커서에서 애니메이션을 사용하지 않도록 설정하여 대역폭을 줄입니다.

  • 글꼴 다듬기 (글꼴 다듬기 허용:i:0) ClearType 글꼴 렌더링 지원을 제어합니다. Windows 8 또는 Windows Server 2012 이상을 실행하는 컴퓨터에 연결할 때 이 설정을 사용하거나 사용하지 않도록 설정해도 대역폭 사용에 큰 영향을 미치지 않습니다. 그러나 Windows 7 및 Windows 2008 R2 이전 버전을 실행하는 컴퓨터의 경우 이 설정을 사용하도록 설정하면 네트워크 대역폭 소비에 상당한 영향을 줍니다.

다음 설정은 Windows 7 및 이전 운영 체제 버전을 실행하는 컴퓨터에 연결할 때만 적용됩니다.

  • 데스크톱 구성 이 설정은 Windows 7 또는 Windows Server 2008 R2를 실행하는 컴퓨터에 대한 원격 세션에 대해서만 지원됩니다.

  • 비주얼 스타일 (테마 사용 안 함:i:1) 이 설정을 사용하지 않도록 설정하면 클래식 테마를 사용하는 테마 드로잉을 간소화하여 대역폭을 줄입니다.

원격 데스크톱 커넥트ion 내의 환경 탭을 사용하여 연결 속도를 선택하여 네트워크 대역폭 성능에 영향을 줄 수 있습니다. 다음은 연결 속도를 구성하는 데 사용할 수 있는 옵션을 나열합니다.

  • 자동으로 연결 품질 검색(커넥트ion type:i:7) 이 설정을 사용하도록 설정하면 원격 데스크톱 커넥트이온은 연결 품질에 따라 최적의 사용자 환경을 제공하는 설정을 자동으로 선택합니다. (이 구성은 Windows 8 또는 Windows Server 2012 이상을 실행하는 컴퓨터에 연결할 때 권장됩니다).

  • 모뎀(56Kbps)(커넥트ion type:i:1) 이 설정은 영구 비트맵 캐싱을 사용하도록 설정합니다.

  • 저속 광대역(256Kbps - 2Mbps)(커넥트ion type:i:2) 이 설정을 사용하면 영구 비트맵 캐싱 및 비주얼 스타일을 사용할 수 있습니다.

  • 셀룰러/위성(대기 시간이 긴 2Mbps - 16Mbps) (커넥트ion type:i:3) 이 설정을 사용하면 데스크톱 컴퍼지션, 영구 비트맵 캐싱, 비주얼 스타일 및 데스크톱 배경이 가능합니다.

  • 고속 광대역(2Mbps – 10Mbps) (커넥트ion type:i:4) 이 설정은 데스크톱 컴퍼지션을 사용하도록 설정하고, 끌어다 대는 동안 창의 콘텐츠를 표시하고, 메뉴 및 창 애니메이션, 영구 비트맵 캐싱, 비주얼 스타일 및 데스크톱 배경을 지원합니다.

  • WAN(대기 시간이 긴 10Mbps 이상)(커넥트ion type:i:5) 이 설정은 데스크톱 컴퍼지션을 사용하도록 설정하고, 끌어다 대는 동안 창의 콘텐츠를 표시하고, 메뉴 및 창 애니메이션, 영구 비트맵 캐싱, 비주얼 스타일 및 데스크톱 배경을 지원합니다.

  • LAN(10Mbps 이상)(커넥트ion type:i:6) 이 설정은 데스크톱 컴퍼지션을 사용하도록 설정하고, 끌어서 놓는 동안 창의 콘텐츠를 표시하고, 메뉴 및 창 애니메이션, 영구 비트맵 캐싱, 테마 및 데스크톱 배경을 지원합니다.

데스크톱 크기

원격 세션의 데스크톱 크기는 원격 데스크톱 커넥트ion의 표시 탭을 사용하거나 RDP 구성 파일(desktopwidth:i:1152 및 desktopheight:i:864)을 사용하여 제어할 수 있습니다. 데스크톱 크기가 클수록 해당 세션과 연결된 메모리 및 대역폭 사용량이 커집니다. 현재 최대 데스크톱 크기는 4096 x 2048입니다.