Windows Server에서 실행되는 Exchange Server 2013에 연결할 때 성능 문제 또는 지연

원본 KB 번호: 2995145

증상

.NET Framework 4.5가 포함된 Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 또는 Windows Server 2008에 설치된 Exchange Server 2013 서버에 연결하는 경우 전자 메일 메시지 액세스 지연 또는 Exchange 연결 끊김이 발생할 수 있습니다. 서버. 이 문제가 발생하면 하나 이상의 W3wp.exe 프로세스를 포함하는 일부 서비스에서 서버의 CPU 또는 메모리 사용량이 높습니다.

원인

이 문제는 너무 많은 개체가 .NET Framework 4.5 가비지 수집기 힙에 고정되어 있기 때문에 발생합니다. 가비지 수집기에서 CPU 및 메모리 사용량이 증가하는 것 외에도 힙 조각화가 발생합니다.

해결 방법

이 문제를 해결하려면 다음 방법 중 하나를 사용합니다.

방법 1

.NET Framework 4.5.2를 설치합니다.

이 방법을 사용하면 핫픽스 2803755 설치하거나 다른 레지스트리 키를 추가할 필요가 없습니다.

방법 2

중요

주의를 기울여 이 절의 단계를 수행하십시오. 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 레지스트리를 수정하기 전에 문제가 발생할 경우에 대비하여 레지스트리를 복원 가능하도록 백업하세요.

  • Windows Server 2012 설치된 Exchange Server 2013의 경우

    다시 시작해야 하는 핫픽스 2803755 적용한 다음, 다음 방법 중 하나를 사용하여 핫픽스를 사용하도록 설정합니다.

    • 환경 변수를 COMPLUS_DisableRetStructPinning 만들고 변수 값을 1로 설정합니다.

    • 다음 레지스트리 하위 키에서 항목의 DisableRetStructPinning DWORD 값을 만들고 DWORD 값을 1로 설정합니다.

      HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework

    그런 다음 컴퓨터를 다시 시작합니다.

  • Windows Server 2012 R2에 설치된 Exchange Server 2013의 경우

    다음 방법 중 하나를 사용합니다.

    • 환경 변수를 COMPLUS_DisableRetStructPinning 만들고 변수 값을 1로 설정합니다.

    • 다음 레지스트리 하위 키에서 항목의 DisableRetStructPinning DWORDvalue를 만들고 DWORD 값을 1로 설정합니다.

      HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework

    그런 다음 컴퓨터를 다시 시작합니다.

  • Windows Server 2008 R2 또는 Windows Server 2008에 설치된 Exchange Server 2013의 경우

    다시 시작해야 하는 핫픽스 2803754 적용한 다음, 다음 방법 중 하나를 사용하여 핫픽스를 사용하도록 설정합니다.

    • 환경 변수를 COMPLUS_DisableRetStructPinning 만들고 변수 값을 1로 설정합니다.

    • 다음 레지스트리 하위 키에서 항목의 DisableRetStructPinning DWORD 값을 만들고 DWORD 값을 1로 설정합니다.

      HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework

      그런 다음 컴퓨터를 다시 시작합니다.

상태

Microsoft는 이것이 문제임을 확인했습니다.

추가 정보

기본적으로 Exchange Server 2013은 성능 모니터 데이터를 수집한 다음, 다음 위치에 C:\Program Files\Microsoft\Exchange Server\V15\Logging\Diagnostics\DailyPerformanceLogs데이터를 저장합니다.

성능 모니터를 사용하여 가비지 수집기 카운터에서 .Net에 문제가 있는지 여부를 확인할 수 있습니다. 이렇게 하려면 다음과 같이 하십시오.

  1. 성능 문제와 관련된 로그를 연 다음 GC 카운터에서 .NET CLR 메모리 - % 시간을 추가합니다.

  2. 선택한 개체의 인스턴스 필드에 다음 인스턴스를 추가합니다.

    • Microsoft.Exchange.RpcClientAccess.Service
    • W3wp 및 나머지 모든 W3wp 프로세스

이러한 카운터의 평균은 10을 초과하면 안 됩니다.