Computer >> 컴퓨터 >  >> 시스템 >> Windows Server

Perfmon 성능 모니터로 RDS 사용자별 대역폭 사용량 모니터링하기

사내 네트워크에는 Windows Server 2012 R2 기반에 RDS(Remote Desktop Services) 역할이 설치된 여러 대의 터미널 서버가 운영되고 있으며, 지사 및 지역 사무소의 다수 사용자가 이 서버에 접속하고 있습니다. 그런데 WAN 회선에 부하를 주는 트래픽의 대부분이 어떤 터미널 사용자 세션에서 발생하는지 파악해야 할 필요가 생겼습니다. 아마도 해당 사용자들이 RDP 세션 안에서 대용량 파일을 활발하게 업·다운로드하거나, Easy Print를 통해 대형 문서를 인쇄 전송하고 있을 가능성이 높습니다.

문제 해결 접근 방식

사용자 업무 특성상 PC와 RDP 서버 간 파일 전송이나 Easy Print를 통한 문서 인쇄를 완전히 차단할 수는 없습니다. 따라서 현실적인 해결책은 데이터를 많이 전송하는 사용자를 찾아내고, 개별적으로 상담하여 RDP 세션 중 대용량 데이터 전송을 최소화하도록 업무 방식을 조정하도록 안내하는 것입니다.

Microsoft는 사용자별 RDP 세션의 대역폭 사용량 데이터를 확인할 수 있는 두 가지 방법, 즉 성능 카운터(Performance Counter)RDS API를 제공합니다. RDS API를 활용한 바로 쓸 수 있는 솔루션은 찾기 어려웠고, 여러 성능 카운터를 테스트한 끝에 적합한 카운터를 찾을 수 있었습니다.

Performance Monitor에서 카운터 추가하기

성능 모니터(perfmon.exe)를 실행한 뒤, RemoteFX Network → Total Sent Rate(*) 카운터를 추가합니다. 이 카운터는 터미널 서버의 송신(발신) 트래픽을 초당 바이트(B/s) 단위로 측정합니다.

Perfmon 성능 모니터로 RDS 사용자별 대역폭 사용량 모니터링하기

세션 수가 많다면 시각적 판독을 위해 그래프(Graph) 탭에서 보기 방식을 히스토그램 막대(Histogram bar) 형태로 변경하는 것이 좋습니다. 세로 눈금 값은 예를 들어 100KB/s(100000) 정도로 지정하면 비교가 한결 쉬워집니다.

Perfmon 성능 모니터로 RDS 사용자별 대역폭 사용량 모니터링하기

트래픽 많은 세션 식별 및 사용자 매핑

막대 그래프에서 값이 가장 큰 세션 번호를 확인하면, 가장 많은 데이터를 송신하는 RDP 세션을 빠르게 식별할 수 있습니다.

Perfmon 성능 모니터로 RDS 사용자별 대역폭 사용량 모니터링하기

세션 번호와 실제 사용자 계정을 연결하려면 명령 프롬프트에서 qwinsta.exe 유틸리티를 실행하면 됩니다. 이 도구는 세션 ID와 사용자 이름을 함께 표시해 줍니다.

Perfmon 성능 모니터로 RDS 사용자별 대역폭 사용량 모니터링하기

참고: 동일한 방식으로 RemoteFX Network/Total Sent Rate(*) 카운터를 활용하면 사용자로부터 유입되는 수신 트래픽의 속도도 측정할 수 있습니다.

장기 트래픽 분석과 하위 버전 서버 참고 사항

일 단위 또는 주 단위로 트래픽 추이를 분석해야 한다면, 사용자 RDP 세션의 송수신 트래픽을 기록하는 별도의 데이터 수집기 집합(Data Collector Set)을 만들어 두는 것이 좋습니다. 이렇게 하면 장기간 로그를 자동으로 수집하고 나중에 상세히 분석할 수 있습니다.

Windows Server 2008 R2에는 위의 RemoteFX 관련 카운터가 존재하지 않습니다. 이 경우 Terminal Services Session 그룹의 Output Bytes / Input Bytes 카운터를 사용하면 세션 트래픽을 근사적으로 추정할 수 있습니다.

Perfmon 성능 모니터로 RDS 사용자별 대역폭 사용량 모니터링하기

측정 데이터의 활용

이렇게 수집한 데이터는 단순한 문제 세션 추적을 넘어 다양하게 활용할 수 있습니다. 원격 지사와의 통신 회선에 필요한 대역폭을 산정할 때, RDS 클라이언트 하나당 평균 세션 대역폭을 계산하는 기준 자료로도 사용할 수 있습니다.