http://www.msexchange.org/articles-tutorials/exchange-server-2007/management-administration/understanding-back-pressure-feature-exchange-server-2007.html
시스템리소스 홍수(inundation) 방지장치
ìnəndéiʃən
백프레셔 기능에 의해 모니터링 되고 있는 시스템리소스
- 메시지큐 DB가 위치한 하드디스크 잔여공간
- 메시지큐 DB 트랜잭션 로그가 위치한 하드디스크 잔여공간
- EdgeTransport.exe, HubTransport.exe 등의 프로세스가 사용중인 메모리
메모리상에 위치하는 큐DB의 Uncommitted 메시지 수
3단계 상태
Normal
Medium : Authoritative domain으로 부터의 연결/메시지는 허용, 다른 소스로부터의 연결은 reject
High : 메시지흐름 stop, 모든 신규 연결/메시지 reject
EdgeTransport Role, Hub Transport Role에서만 동작
징후 증상
- 사서함 Draft 폴더에 메일이 머무른다
- 서버 접속시 insufficient resource 메시지 확인
이벤트로그
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)
메시지 탈수프로세스 시작?
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------