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)

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

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

   

   

   




   

   

   

  • 사용자가 NDR을 받았다면 아마도 수신 측 서버 문제일 것 NDR을 보자
  • 수신자메일주소 도메인 NSLOOKUP, PING
  • SMTP서버 TELNET접속 25포트
  • Exchange 콘솔에서 큐뷰어 or 쉘에서 Get-Queue
  • ECP에서 Delivery Report 확인
  • 메시지 트랙킹 로그 확인

     "C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\MessageTracking"

  • Enable TransportLogging

    Send Connector ?

  • 프로토콜 로그파일

    C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\ProtocolLog\SmtpSend

    주의, 엄청 크다

       

       

       




   

   

웹서버, 사이트에서 개별 디렉토리나 파일에서 클라이언트 인증서를 사용하도록 설정한 경우

   

클라이언트가 MS IIS가 구동중인 웹서버로 긴 요청을 하게 된다면

IIS worker프로세스는 Request body(본문)전체를 다 받지 않고, 요청헤더를 분석하는데 필요한 데이터만 받을 것이다.

   

IIS worker프로세스가 클라이언트와의 연결에 대해서 재협상 혹은 데이터 리턴을 위해

클라이언트 인증서가 필요하다는 것을 알게 되어 , 다시 협상하려고 시도하나

클라이언트는 나머지 데이터를 보내려고 대기하고 있는 상태이기 때문에 클라이언트는 재연결을 없게 된다,

, 둘다 기다리게 되는 데드락 상태가 발생한다.

   

   

클라이언트 재협상연결이 요청되게 되면, 요청 엔티티 본문을 SSL preload에 미리 실려야 된다.

SSL Preload여기서 이용하는 IIS metabase 설정값이 바로 UploadReadAheadSize 이다.

   

Content 길이보다 UploadReadAheadSize  작게 설정되어 있다면 웹서버는 HTTP 413 에러를 리턴해준다.

   

   

cscript adsutil.vbs set w3svc/1/uploadreadaheadsize 65536 요건 64KB

   


클라이언트가 entity body 전체를 보내는 것이 block되지 않게 보장하려면

UploadReadAheadSize  값을 content길이보다 크게 설정해놔야 된다.

   

서버 디도스 공격의 위험때문에 클라이언트 인증서 인증을 이용하지 않는 사이트의 경우에는 64KB이상 설정은 권장하지 않는다.

   

UploadReadAheadSize를 64KB보다 높은 값으로 설정해야 하는 경우 SSLAlwaysNegoClientCert 속성을 True로 설정하여 클라이언트에 유효한 클라이언트 인증서가 설치되도록 할 것을 권장합니다.

   

   

   

   

   

기본 형용사를 수식할때

enough to V : ~하기에 충분하다

She was kind enough to show me the way. Kind하다, 충분할정도로 kind하다

   

명사를 수식하는 형용사

enough 명사 to V :   ~하기에 충분한 명사 ,

enough time to go home(집에가기에 충분한 시간)

enough money to spend (쓰기에 충분한 돈)

   

   

   




+ Recent posts