Mi van akkor mikor ilyesmit lát az ember az exchange server smtp receive logjában?
Tarpit for ‘0.00:00:07.674’ due to ‘DelayedAck…
Nos, bizonyos esetekben ez szívás… 🙂
Kezdhetném az egészet az Exchange 2010 egyik legfontosabb új funkciójának, amit Shadow Redundancy-nak hívnak, a részletes elemzésével de ebbe most nem mennék bele. Akit érdekelnek a részletek az itt elolvashatja:http://technet.microsoft.com/en-us/library/dd351027.aspx
Röviden: a Shadow Redundancy technológia azért keletkezett, hogy meggátolja a levelek eltűnését Transport közben.
Részlet a vonatkozó TechNet cikkből:
„High availability strategies for Exchange have focused on the availability and recoverability of data stored in mailbox databases. When you implement a highly available solution for your Mailbox servers, the e-mail messages won’t be lost, and they can easily be recovered after a failure, after they arrive in a mailbox.
However, these strategies didn’t extend to messages while they’re in transit. If a Hub Transport server fails while processing messages and can’t be recovered, data loss could occur. As the volume of messages processed by Hub Transport servers increases, potential data loss becomes an increasing concern for administrators.”
A Delayed SMTP Acknowledgement ennek a rendszernek egy része. Arra találták ki, hogy megakadályozza a levelek eltűnését olyan esetekben amikor a levéltovábbítási folyamatban nem csak Exchange 2010 típusú szerverek vesznek részt. Ezt úgy kívánja elérni, hogy a fogadó (Exchange 2010) „feltartja” a küldő (nem Exchange 2010) szervert addig amíg meg nem bizonyosodott róla, hogy a címzett megkapta a levelet (beesett a postafiókba). Ez persze egy erősen egyszerűsített magyarázat.
http://technet.microsoft.com/en-us/library/dd351091.aspx
Ha a folyamat közben a fogadó transport szerver meghibásodik, akkor a küldő sohasem fogja megkapni a visszaigazolást, így tudni fogja, hogy levelet nem sikerült elküldenie. A levél nem veszik el…
Mi a probléma ezzel?
Van olyan küldő szerver ami nem „szeret” várakozni 🙂 és még a MaxAcknowledgementDelay letelte előtt azt mondja, hogy Timeout. Ez azért probléma. Figyelembe kell venni, hogy ha nem keletkezik timeout, a módszer akkor is jelentősen lassíthatja a levelek áramlását.
A MaxAcknowledgementDelay kikapcsolható illetve állítható a Set-ReceiveConnector parancs használatával.
Set-ReceiveConnector „ConnectorName” -MaxAcknowledgementDelay 0
vagy
Set-ReceiveConnector „From the Internet” -MaxAcknowledgementDelay 00:00:15.