http://www.msexchange.org/articles-tutorials/exchange-server-2007/management-administration/understanding-back-pressure-feature-exchange-server-2007.html

   

시스템리소스 홍수(inundation) 방지장치

ìnəndéiʃən

   

 

   

백프레셔 기능에 의해 모니터링 되고 있는 시스템리소스

  1. 메시지큐 DB가 위치한 하드디스크 잔여공간
  2. 메시지큐 DB 트랜잭션 로그가 위치한 하드디스크 잔여공간
  3. EdgeTransport.exe, HubTransport.exe 등의 프로세스가 사용중인 메모리
  4. 메모리상에 위치하는 큐DB의 Uncommitted 메시지 수

       

3단계 상태

Normal

Medium : Authoritative domain으로 부터의 연결/메시지는 허용, 다른 소스로부터의 연결은 reject

High : 메시지흐름 stop, 모든 신규 연결/메시지 reject

   

EdgeTransport Role, Hub Transport Role에서만 동작

   

   

징후 증상

  1. 사서함 Draft 폴더에 메일이 머무른다
  2. 서버 접속시 insufficient resource 메시지 확인
  3. 이벤트로그

       

       

       

    Figure 04: Parameters related to the Back Pressure feature in the EdgeTransport.exe.config file

       

    EdgeTransport.exe.config 값 수정 후 무조건 서비스 재시작

  • General Options
  • Free Hard Disk drive space for Message Queue Database
  • Free Hard Disk drive space for Message Queue Database Transaction Logs
  • Memory that is used by the Edge Transport process
  • Memory that is used by all process ok

       

    ResourceMonitoringInterval 기본값 2 seconds (범위 3 ~ 20초)

       

       

    Table 1

    Free Hard Disk drive space for the Message Queue Database

    There is a default formula for this component:

    100*(hard disk drive size - 4 GB) / hard disk drive size

    This means we should have at least 4GB of free hard disk drive space always available for the message queue database.

    Note:

    The path of the Message Queue Database is stored in the QueueDatabasePath parameter in the same configuration file.

Parameter

Default Value

Possible Values

PercentageDatabaseDiskSpaceUsedHighThreshold

0 (indicates that the formula is in use).

3 to 100

PercentageDatabaseDiskSpaceUsedMediumThreshold

0 (if zero, indicates that the value is 2% less than the previous parameter)

3 to 100. The value must be less than the previous parameter.

PercentageDatabaseDiskSpaceUsedNormalThreshold

0. (if zero, indicates that the value is 2% less than the previous parameter)

3 to 100. The value must be less than the previous parameter.

   

   

   

Table 2

Free Hard Disk drive space for the Message Queue Database transaction logs

In this parameter we control how much free space the Message Queue Database transactions logs utilize. By default the Back Pressure feature uses the following formula:

100*(hard disk drive size - 25*DatabaseCheckPointDepthMax) / hard disk drive size

Note:

The parameter DatabaseCheckPointDepthMax can be found in the same configuration file.

Parameter

Default value

Possible Values

PercentageDatabaseLoggingDiskSpaceUsedHighThreshold

0 (if zero, indicates that the default formula will be used)

3 to 100

PercentageDatabaseLoggingDiskSpaceUsedMediumThreshold

0 (if zero, indicates that the value is 2% less than the previous parameter)

3 to 100. The value must be less than the previous parameter.

PercentageDatabaseLoggingDiskSpaceUsedNormalThreshold

0 (if zero, indicates that the value is 2% less than the previous parameter)

3 to 100. The value must be less than the previous parameter.

   

   

   

Table 3

Memory that is Used by the EdgeTransport.exe Process

The formula to calculate the memory used by the EdgeTransport.exe is the simplest Back Pressure feature. Actually, it is not a formula, but a rule: 75% of the total physical memory or 1 TB, the lower value wins.

Parameter

Default value

Possible Values

PercentagePrivateBytesUsedHighThreshold

0 (Indicates that the formula is used)

3 to 100

PercentagePrivateBytesUsedMediumThreshold

0 (if zero, indicates that the value is 2% less than the previous parameter)

3 to 100. The value must be less than the previous parameter.

PercentagePrivateBytesUsedNormalThreshold

0 (if zero, indicates that the value is 2% less than the previous parameter)

3 to 100. The value must be less than the previous parameter.

   

   

   

Table 4

Memory that is Used by All Processes

We can control the memory that is used by All Processes; when memory utilization by all process reaches the value specified in PercentagePhysicalMemoryUsedLimit a process called message dehydration starts. By default, all message content is kept in memory. This process removes all the unnecessary elements (MIME Content) of those messages, and then memory used can be reduced.

Parameter

Default Value

Possible Values

DehydrateMessagesUnderMemoryPressure

True (Enabled)

True (Enabled) or False (Disabled)

PercentagePhysicalMemoryUsedLimit

94

3 to 100

   

   

Table 5

Number of Uncommitted Message Queue Database Transactions That Exist in Memory

The "version buckets" are the message queue database transactions that are kept in memory. All changes that are made to the message queue database stay in memory until those changes can be committed to transaction log files.

Factors that can increase the version buckets may be virus issues, integrity of the message queue database, or hard drive performance.

Parameter

Default value

Possible Values

VersionBucketsHighThreshold

100

1 to 8000

VersionBucketsMediumThreshold

60

1 to 8000. The value must be less than the previous parameter.

VersionBucketsNormalThreshold

40

1 to 8000. The value must be less than the previous parameter

   

   

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

   

Stage 1

tranport 프로세스에 의한 메모리이용은 유효한 상태

Config파일의 수치를 넘어서면, 가비지컬렉션 작업 시작됨

미사용 객체를 체크해서 메모리 상에서 제거시킨다.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Stage 2

메모리상의 uncommitted message queue database transactions 유효한 상태

Config파일의 수치를 넘어서면

메모리 상의 메시지큐DB 트랜잭션들을 강제로 트랜잭션 로그파일에 쓰려는 시도가 일어난다.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Stage 3

모든 모니터링수치가 normal levels이용율을 넘어서는 경우

과잉이용이 지속되면 the highest level of utilization is acted upon.

   

HUB Edge 다르게 동작함(아래 참조)

HUB 내부흐름, 다른 HUB연결, Store driver연결은 허용(Medium)

Hub

Resource utilization level

Connections from other Hub Transport servers

Connections from other messaging servers

Store driver connections from Mailbox servers

Pickup directory and Replay directory submission

Internal mail flow

Medium

Allowed

Rejected

Allowed

Rejected

Functional

High

Rejected

Rejected

Rejected

Rejected

Not functional

   

Edge 모두 거부

Resource utilization level

Connections from Hub Transport servers

Connections from other messaging servers

Pickup directory and Replay directory submission

Medium

Rejected

Rejected

Rejected

High

Rejected

Rejected

Rejected

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Stage 4

The memory utilization of the Exchange Transport process is validated against the config file.

Transport service 재시작해도 전송큐의 메시지는 처리되지 않음

   

Other validation occurs in the message queue database transactions that are kept in memory.

transport dumpster will be disabled;

message delivery to any remote destination that uses a remote delivery queue will be disabled.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Stage 5

Transport process 메모리 사용율이 여전히 높고 ,모든 프로세스에 대한 메모리 이용율이 config파일의 정의된 수치를 넘어서게 되면

메모리 상에서 DNS캐시 버린다(flush)

메시지 탈수프로세스 시작?

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

   

   

   




+ Recent posts