클라이언트 제한 정책 이해

 

적용 대상: Exchange Server 2010 SP2, Exchange Server 2010 SP3

마지막으로 수정된 항목: 2015-03-09

MicrosoftExchange Server 2010에서는 클라이언트 제한 정책을 사용하여 Exchange 조직의 성능을 관리합니다. 이 작업을 위해 Exchange는 각 사용자가 소비하는 리소스를 추적하고 필요에 따라 연결 대역폭 제한을 적용합니다.

그 중에서도 클라이언트 제한은 다음 사항을 확인하는 데 도움이 됩니다.

  • 사용자가 의도적으로 시스템에 무리한 부담을 주지 않습니다.

  • 사용자가 실수로 시스템에 무리한 부담을 주지 않습니다.

  • 다양한 연결 방법을 이용하는 사용자가 비율에 맞게 리소스를 공유합니다.

Exchange Server 2010 SP1에서는 모든 클라이언트 제한 정책이 기본적으로 설정됩니다. 이러한 정책으로 인해 초래될 수 있는 문제가 발생하는 경우 클라이언트 제한을 해제할 수 있습니다. 클라이언트 제한을 해제하려면 모든 정책 매개 변수를 $Null로 설정합니다.

목차

기본 정책 및 기본이 아닌 정책

정책 매개 변수 이해

Exchange 관리 셸 명령 및 매개 변수

일반적인 제한 정책 관리 작업

제한 성능 카운터

대체 정책

기본 정책 및 기본이 아닌 정책

Exchange 조직이 만들어지면 해당 조직의 모든 사용자를 암시적으로 제어하는 기본 제한 정책이 자동으로 만들어집니다. 기본 클라이언트 제한 정책은 일반적으로 Exchange 시스템에 부과되는 로드를 관리하기에 충분하지만 기본 정책을 사용자 지정하거나 조직의 요구 사항에 따라 정책을 더 추가할 수 있습니다.

Exchange 조직에서 여러 테넌트를 호스트하는 경우 테넌트의 각 사용자에 허용되는 로드를 정의할 수 있습니다. 유사하게 온-프레미스 조직인 경우 사용자별로 허용되는 로드를 정의할 수 있습니다. 정책을 통해 Exchange는 각 사용자가 시스템을 사용하는 방법을 평가하고 사용자별 결과 로드가 사용자 정책에 정의된 대로 허용되는 경계 안에 포함되는지 확인합니다. 클라이언트 제한 시스템은 사용자별로 시스템 사용을 추적하고 사용자와 연결된 제한 정책을 사용하여 제한이 적용되어야 하는지 여부를 결정합니다.

Exchange 2010 Enterprise 설치에는 조직 이름이라는 하나의 기본 제한 정책이 있습니다. 다중 테넌트 배포에서는 각 테넌트에 고유한 기본 제한 정책이 있습니다.

대체 정책

제한 프레임워크는 Exchange 리소스를 보호하기 위한 것입니다. 따라서 기본이 아닌 정책이 손상되거나 누락된 경우 제한 정책이 먼저 조직에 대한 기본 제한 정책으로 대체됩니다. 그러나 기본 정책이 손상되거나 누락된 경우에는 제한 정책이 대체 정책으로 대체됩니다. 대체 정책은 Exchange에 포함되어 있으므로 오류가 거의 발생하지 않습니다.

대체 정책은 사서함이 없는 컴퓨터 계정, 크로스 포리스트 연락처 및 Active Directory 계정과 같은 인증 계정에도 적용됩니다. 이러한 계정에 따라 대체 정책 값이 할당됩니다. 이러한 계정에는 대체 정책이 사용되므로 정책 값을 수정할 수 없습니다.

대체 정책에는 다음 값을 사용합니다.

액세스 유형

MaxConcurrency

PercentTimeinAD

PercentTimeinCAS

PercentTimeinRPC

기타

Anonymous

1

$null

$null

$null

EAS

10

$null

$null

$null

10 (maxDevices)
$null ($MaxDeviceDeletesPerMonth

EWS

10

50

90

60

5000 (maxSubscription)
60 (fastSearchTimeout)1000 (findCountLimit)

IMAP

$null

$null

$null

$null

OWA

5

30

150

150

POP

20

$null

$null

$null

PowerShell

18

$null (maxTenantConcurrency)
$null (maxCmdletsTime$null (MaxCmdlets)
Period)
$null (ExchangeMaxCmdlets)
$null (maxCmdletQueueDepth)
$null (maxDestructiveCmdlets)
$null (maxDestructiveCMdletsTimePeriod)

RCA

2000

5

205

200

CPA

20

205

200

일반

$null (MessageRateLimit)
$null (RecipientRateLimit)
$null (ForwardeeLimit)
$null (cpuStartPercent)

기본 정책 및 기본이 아닌 정책

정책 매개 변수 이해

Get-ThrottlingPolicy, Set-ThrottlingPolicy, New-ThrottlingPolicyRemove-ThrottlingPolicy cmdlet을 사용하여 Exchange 관리 셸을 통해 제한 정책 설정을 관리합니다.

제한 정책의 허용되는 로드는 해당 제한 정책의 cmdlet 매개 변수 값으로 정의합니다. 제한 정책에 포함되는 구성 요소 유형은 다음과 같습니다.

  • MicrosoftExchange ActiveSync

  • Exchange 웹 서비스

  • IMAP

  • Outlook Web App

  • POP

  • Windows PowerShell

이러한 모든 구성 요소 유형에는 Windows PowerShell 구성 요소 유형을 제외하고 유사하게 작동하는 정책 매개 변수가 있습니다.

일반적인 구성 요소 유형은 네 가지 정책 매개 변수에 의해 결정됩니다. <Component Acronym>MaxConcurrency, <Component Acronym>PercentTimeInAD, <Component Acronym>PercentTimeInCAS-<Component Acronym>PercentTimeInMailboxRPC입니다. 매개 변수 이름 앞에 구성 요소 유형 머리글자어가 붙습니다. 다음 표에서는 제한 정책 cmdlet의 매개 변수에 사용되는 구성 요소 유형 머리글자어를 보여줍니다.

제한 정책 cmdlet에 사용되는 구성 요소 유형 머리글자어

구성 요소 머리글자어 설명

EAS

Exchange ActiveSync

EASPercentTimeInCAS 매개 변수에서 구성 요소 머리글자어 EAS는 Exchange ActiveSync 구성 요소를 나타냅니다.

EWS

Exchange 웹 서비스

매개 변수 EWSPercentTimeInCAS에서 구성 요소 머리글자어 EWS는 Exchange 웹 서비스 구성 요소를 나타냅니다.

OWA

Outlook Web App

매개 변수 OWAPercentTimeInCAS에서 구성 요소 머리글자어 OWA는 Outlook Web App 구성 요소를 나타냅니다.

IMAP

IMAP4

매개 변수 IMAPPercentTimeInCAS에서 구성 요소 머리글자어 IMAP는 IMAP4 구성 요소를 나타냅니다.

POP

POP3

매개 변수 POPPercentTimeInCAS에서 구성 요소 머리글자어 POP는 POP3 구성 요소를 나타냅니다.

참고

통합 메시징 사용자는 Exchange 웹 서비스 사용자로 간주되고 Exchange 서버에 대한 연결은 EWSMaxConcurrency, EWSPercentTimeInAD, EWSPercentTimeInCASEWSPercentTimeInMailboxRPC 같은 Exchange 웹 서비스 매개 변수를 통해 제한됩니다.

기본 정책 및 기본이 아닌 정책

MaxConcurrency

MaxConcurrency 정책 매개 변수의 값은 지정된 사용자가 Exchange 서버에 대해 한 번에 보유할 수 있는 동시 연결 수를 지정합니다. 응답이 전적으로 요청자에게 보내질 때까지 요청을 받는 시점에 연결이 유지됩니다. 사용자가 정책에서 허용하는 것보다 더 많은 동시 요청을 만들려는 경우 새 연결 시도가 실패합니다. 하지만 기존 연결은 유효한 상태로 유지됩니다. <Component Acronym>MaxConcurrency의 유효 범위는 0에서 2147483647 사이입니다. <Component Acronym>MaxConcurrency가 제한되지 않도록 지정하려면(제한 없음) 이 값은 $null로 설정해야 합니다.

중요

비즈니스 요구 사항이 있는 경우가 아니라면 제한 정책 매개 변수를 $null로 설정하지 마십시오. 제한되지 않은 사용자는 의도적으로 또는 실수로 서버에 높은 로드를 부과하는 기능에 대한 제한을 받지 않습니다.

PercentTimeInCAS, PercentTimeInAD 및 PercentTimeInMailboxRPC

PercentTimeInCAS, PercentTimeInAD 또는 PercentTimeInMailboxRPC 정책 매개 변수의 값은 1분 중 사용할 수 있는 시간 비율을 지정합니다:

  • 클라이언트 액세스 서버 코드 실행(<Component Acronym>PercentTimeInCAS)

  • LDAP 요청 실행(<Component Acronym>PercentTimeInAD)

  • 사서함 RPC 요청 실행(<Component Acronym>PercentTimeInMailboxRPC)

값으로 100을 지정하면 1분마다 프로세스가 질문에서 해당 리소스에 사용되는 시간의 60초를 사용할 수 있습니다. 값이 100으로 설정된 상태에서 프로세스에 제한이 발생하지 않을 것 같은 경우에도 동시 요청의 영향을 고려해야 합니다. 프로세스가 클라이언트 액세스 서버에서 각 코드 실행에 60초를 사용하는 두 개의 동시 요청을 만드는 경우, 해당 프로세스는 60초 창에서 120초를 효과적으로 사용하므로 200%의 <Component Acronym>PercentTimeInCAS 값을 나타냅니다.

PercentTimeInCAS, PercentTimeInADPercentTimeInMailboxRPC가 제한되지 않도록 지정하려면(제한 없음) 이 값은 $null로 설정해야 합니다.

중요

비즈니스 요구 사항이 있는 경우가 아니라면 제한 정책 매개 변수를 $null로 설정하지 마십시오. 사용자는 의도적으로 또는 실수로 서버에 높은 로드를 부과하는 기능에 대한 제한을 받지 않습니다.

<Component Acronym>PercentTimeInCAS<Component Acronym>PercentTimeInAD<Component Acronym>PercentTimeInMailboxRPC의 겹치는 추가 항목이라는 것에 주의해야 합니다. 즉, 클라이언트 액세스 서버 처리 시간의 소비가 항상 <Component Acronym>PercentTimeInAD<Component Acronym>PercentTimeInMailboxRPC의 소비보다 큽니다. 이는 Exchange 구성 요소가 Active Directory 또는 RPC 호출을 만들기 위해 이미 클라이언트 액세스 서버 코드를 실행하고 있기 때문입니다. 또한 <Component Acronym>PercentTimeInCAS에 대한 처리 시간의 소비가 LDAP 또는 RPC 호출을 만드는 동안 중지되지 않습니다. 요청이 Active Directory 또는 Exchange 저장소에서 응답을 동기적으로 기다릴 수 있어도 해당 프로세스는 계속 서버의 스레드를 사용하므로 해당 사용량에 대한 비용이 계속 소비됩니다. 따라서 <Component Acronym>PercentTimeInCAS 값은 <Component Acronym>PercentTimeInAD 값 및 <Component Acronym>PercentTimeInMailboxRPC 값보다 큰 값으로 설정되어야 합니다.

기본 정책 및 기본이 아닌 정책

Exchange 관리 셸 명령 및 매개 변수

이 섹션에서는 다음 Windows PowerShell 매개 변수에 대해 설명합니다.

  • PowerShellMaxConcurrency

  • PowerShellMaxCmdlets

  • PowerShellMaxCmdletsTimePeriod

  • PowerShellMaxCmdletQueueDepth

PowerShellMaxConcurrency

원격 셸 컨텍스트에서 PowerShellMaxConcurrency 매개 변수는 원격 셸 사용자가 동시에 열 수 있는 최대 원격 셸 세션 수를 정의합니다. 웹 서비스 컨텍스트에서 PowerShellMaxConcurrency 매개 변수는 사용자가 동시에 실행할 수 있는 동시 cmdlet 수를 정의합니다. 이 값은 반드시 사용자가 연 브라우저 수와 일치할 필요는 없습니다.

PowerShellMaxCmdlets

PowerShellMaxCmdlets 매개 변수는 제한되지 않은 상태에서 기간별로 실행할 수 있는 cmdlet 수를 정의합니다. 이 매개 변수는 PowerShellMaxCmdletsTimePeriod 매개 변수에 정의된 값에 따라 달라집니다. 두 값을 동시에 설정해야 합니다.

PowerShellMaxCmdletsTimePeriod

PowerShellMaxCmdletsTimePeriod 매개 변수는 사용자가 PowerShellMaxCmdlets 매개 변수에 정의된 cmdlet 수를 실행할 수 있는 기간을 초 단위로 정의합니다.

PowerShellMaxCmdletQueueDepth

PowerShellMaxCmdletQueueDepth 매개 변수는 사용자가 동시에 실행할 수 있는 작업 수를 정의합니다. 이 값은 PowerShellMaxCmdletsPowerShellMaxConcurrency 매개 변수의 동작에 직접 영향을 줍니다. 예를 들어 PowerShellMaxConcurrency 매개 변수는 PowerShellMaxCmdletQueueDepth 매개 변수에 정의된 두 개 이상의 작업을 사용하지만 cmdlet이 실행될 때마다 제한 한도에 대해 추가 작업이 계산되기도 합니다. 제한 한도에 대해 계산되는 작업 수는 실행되는 cmdlet에 따라 달라집니다. PowerShellMaxCmdletQueueDepth 매개 변수의 값은 PowerShellMaxConcurrency 매개 변수의 값보다 최소 3배 이상 크게 설정하는 것이 좋습니다. 이 매개 변수는 Exchange 제어판을 사용하여 실행되는 작업이나 Exchange 웹 서비스를 통해 실행되는 작업에 영향을 주지 않습니다.

기본 정책 및 기본이 아닌 정책

클라이언트 제한 정책 관리

Exchange 관리 셸에서는 다음 표에 설명된 cmdlet을 사용하여 클라이언트 제한 정책 설정을 보고 수정할 수 있습니다.

클라이언트 액세스 서버에서 클라이언트 제한 정책 관리를 위한 cmdlet

Cmdlet 이름 설명

New-ThrottlingPolicy

이 cmdlet은 새 제한 정책을 만듭니다.

Remove-ThrottlingPolicy

이 cmdlet은 제한 정책을 제거합니다.

Get-ThrottlingPolicy

이 cmdlet은 제한 정책의 설정을 볼 수 있게 합니다.

Set-ThrottlingPolicy

이 cmdlet은 제한 정책의 사용 가능한 모든 설정을 수정합니다.

이러한 cmdlet의 구문과 매개 변수를 보려면 New-ThrottlingPolicy, Remove-ThrottlingPolicy, Get-ThrottlingPolicySet-ThrottlingPolicy를 참조하십시오.

제한 정책을 특정 개체와 연결할 수 있습니다. 개체는 사서함이 있는 사용자, 사서함이 없는 사용자, 연락처 또는 컴퓨터 계정일 수 있습니다. 이러한 cmdlet의 구문과 매개 변수는 Get-ThrottlingPolicyAssociationSet-ThrottlingPolicyAssociation을 참조하십시오.

참고

제한 정책을 단일 사용자 또는 사용자 그룹과 연결하려면 ThrottlingPolicy 매개 변수를 New-MailboxSet-Mailbox cmdlet과 함께 사용해야 합니다.

사용자 단위로 클라이언트 제한 정책 설정 관리

Exchange 관리 셸에서 Set-MailboxNew-Mailbox cmdlet의 ThrottlingPolicy 매개 변수를 사용하여 사서함의 속성을 수정하면 클라이언트 제한 정책을 사용자 또는 사용자 그룹과 연결할 수 있습니다. 자세한 내용은 Set-MailboxNew-Mailbox를 참조하십시오.

기본 정책 및 기본이 아닌 정책

일반적인 제한 정책 관리 작업

다음은 클라이언트 제한 정책을 관리할 수 있는 몇 가지 방법입니다.

기본 제한 정책 검색

기본적으로 클라이언트 제한 정책에서는 IsDefault 매개 변수가 true로 설정되어 있습니다. where-object 필터를 사용하여 기본 제한 정책을 검색할 수 있습니다. 다음 예에서는 기본 제한 정책을 검색하는 방법을 보여줍니다.

Get-ThrottlingPolicy | where-object {$_.IsDefault -eq $true}

사용자를 제어하는 제한 정책 검색

사용자 단위로 제한 정책을 설정할 수 있습니다. 따라서 특정 사용자를 제어하는 정책을 검색하는 것이 좋습니다. 원하는 사용자의 사서함에서 ThrottlingPolicy 매개 변수를 가져온 다음 이 매개 변수를 Get-ThrottlingPolicy cmdlet으로 전달할 수 있습니다. 다음 예에서는 Tony Smith라는 사용자의 사서함이 사용되었습니다.

$policy = $null;
$policyLink = (Get-Mailbox tonysmith).ThrottlingPolicy;
if ($policyLink -eq $null)
{ 
    $policy = Get-ThrottlingPolicy | ? {$_.IsDefault};
}
else
{
    $policy = $policyLink | Get-ThrottlingPolicy;
}

기본 정책 및 기본이 아닌 정책

새로운 기본이 아닌 제한 정책을 만들기

새로운 기본이 아닌 제한 정책을 만들려면 New-ThrottlingPolicy cmdlet을 실행하고 원하는 매개 변수를 설정합니다. 생략한 매개 변수는 모두 기본 제한 정책의 값을 상속합니다. 다음 예에서는 새 제한 정책 ClientThrottlingPolicy2를 만듭니다. 해당 새 정책은 기본 제한 정책과 설정이 거의 동일합니다. 차이점은 새로운 기본이 아닌 제한 정책 ClientThrottlingPolicy2EWSPercentTimeInCAS를 80으로 설정하고 EWSPercentTimeInAD 제한을 해제한다는 것입니다.

New-ThrottlingPolicy -Name ClientThrottlingPolicy2 -EWSPercentTimeInCAS 80 -EWSPercentTimeInAD $null;

사용자에게 기본이 아닌 제한 정책 할당

사용자에게 기본이 아닌 제한 정책을 할당하려면 다음과 같이 Set-Mailbox cmdlet을 사용합니다.

$b = Get-ThrottlingPolicy ClientThrottlingPolicy2;
Set-Mailbox -Identity tonysmith -ThrottlingPolicy $b;

사용자가 기본이 아닌 제한 정책에서 제어되고 사용자가 기본 정책을 사용하도록 하려는 경우 ThrottlingPolicy 매개 변수를 $null로 설정하여 이러한 변경 사항을 설정할 수 있다고 생각할 수 있습니다. 하지만 ThrottlingPolicy 매개 변수를 $null로 설정하면 사서함 개체가 수정되지 않습니다. 기본 제한 정책을 사용자에게 적용하려면 다음 명령을 사용하여 해당 사용에 대한 기본 제한 정책을 명시적으로 설정해야 합니다.

$policy = Get-ThrottlingPolicy | where-object {$_.IsDefault -eq $true};
Set-Mailbox -Identity tonysmith -ThrottlingPolicy $policy;

기본 정책 및 기본이 아닌 정책

특정 제한 정책에서 제어하는 모든 사용자 찾기

특정 제한 정책에서 제어하는 사용자를 알아보려면 다음 예와 같이 Get-Mailbox cmdlet을 실행하고 제한 정책 ID를 필터링합니다. 이 예에서 $policy는 필터링할 정책입니다.

Get-Mailbox | where-object {$_.ThrottlingPolicy -eq $policy.Identity}

제한 정책 제거

기본이 아닌 정책이고 사서함과 연결되지 않은 제한 정책만 제거할 수 있습니다. 이 작업을 수행하려면 다음 명령을 사용하여 Remove-ThrottlingPolicy cmdlet을 실행하고 제한 정책 ID를 전달합니다.

Remove-ThrottlingPolicy ClientThrottlingPolicy2

사용자와 연결된 제한 정책이 있는 경우 먼저 해당 사용자를 다른 정책에 다시 할당해야 합니다. 그런 다음 제거하려는 정책을 제거할 수 있습니다. 다음 예에서는 이 작업을 수행하는 방법을 보여줍니다.

$policy = Get-ThrottlingPolicy ClientThrottlingPolicy2;
$mailboxes = Get-Mailbox | where-object {$_.ThrottlingPolicy -eq $policy.Identity};
$defaultPolicy = Get-ThrottlingPolicy | where-object {$_.IsDefault -eq $true};
foreach ($mailbox in $mailboxes)
{
Set-Mailbox -Identity $mailbox.Identity -ThrottlingPolicy $defaultPolicy;
}
Remove-ThrottlingPolicy ClientThrottlingPolicy2;

기본 정책 및 기본이 아닌 정책

제한 정책 수정

Set-ThrottlingPolicy cmdlet을 실행하고 변경할 매개 변수를 지정하여 기존 제한 정책(기본 제한 정책 포함)을 수정합니다. 예를 들어 기본 제한 정책의 EWSMaxConcurrency 매개 변수 값을 4로 변경하려면 다음 명령을 사용할 수 있습니다.

$a = Get-ThrottlingPolicy | where-object {$_.IsDefault -eq $true}
$a | Set-ThrottlingPolicy -EWSMaxConcurrency 4

제한 성능 카운터

제한은 Exchange 서버에서 Exchange 구성 요소의 전체 사용량을 제어하는 데 도움이 되므로 제한이 시스템에 영향을 주는 방법을 확인하는 것이 유용한 경우가 많습니다. Exchange에서는 프로세스별 제한 성능 카운터 집합을 제공합니다. 예를 들어 Outlook Web App와 같은 Exchange 프로세스에는 고유한 카운터 집합이 있고 Exchange 웹 서비스에도 고유한 카운터 집합이 있습니다. Windows 성능 도구에서는 이러한 카운터를 인스턴스라고 합니다.

RPC 클라이언트 액세스 로그에 로깅 제한 사용

기본적으로 로깅 제한은 RPC 클라이언트 액세스 서비스에 대해 사용되지 않습니다. 그러므로 RPC 클라이언트 액세스 로그에 제한 정보가 표시되지 않습니다. 로깅 제한을 사용하려면 다음 단계를 수행합니다.

  1. 메모장 등의 텍스트 편집기에서 다음 파일을 엽니다. C:\Program Files\Microsoft\Exchange Server\V14\Bin Microsoft.Exchange.RpcClientAccess.Service.exe.config

  2. 파일에서 <add key="LoggingTag" value="ConnectDisconnect, Logon, Failures, ApplicationData, Warnings" /> 섹션을 찾습니다.

  3. 쉼표로 구분된 문자열로 Throttling을 입력합니다. 예를 들어 다음과 유사한 문자열로 Throttling을 입력합니다. <add key="LoggingTag" value="ConnectDisconnect, Logon, Failures, ApplicationData, Warnings, Throttling" />.

    파일을 저장한 다음 닫습니다.

  4. RPC 클라이언트 액세스 서비스를 다시 시작합니다.

기본 정책 및 기본이 아닌 정책

 © 2010 Microsoft Corporation. 모든 권리 보유.