Thursday, 19 March 2015

How to Configure Priority Queuing in Exchange Server 2010

Most of us would be familiar with setting message priority as either High or Low in Outlook and Outlook Web Access. Exchange Server 2010 has introduced a new feature called priority queuing that can be configured on the Hub Transport server for processing messages based upon their priorities.
Some organizations wish to ensure that messages with high priority should be delivered first before other messages marked with low priority. These message policies can be defined in the Service Level Agreements (SLAs) to deliver the high priority messages first across the slow WAN links.
To understand how priority queuing works, we need one lab environment with two different forests and creating a send connector between them. For example, let us create one sending system named, Fabrikam and receiving system is Contoso. Send connector needs to be configured on the Fabrikam to send all messages destined for the Contoso are delivered to the Contoso recipients.
Once Send Connector is configured, we will enable the Priority Queuing on Fabrikam Exchange Server 2010 and will use various tools to find out if priority queuing is working or not.
Priority Queuing is disabled by default in Exchange Server 2010. To verify the same, we will first send one message from Fabrikam to Contoso with Low priority, and then with High Priority. But do remember to stop the Microsoft Exchange Transport service on the Contoso Exchange server so that messages are queued up in the Fabrikam Exchange Server, and then start the services to see how messages are delivered from Fabrikam to Contoso.
With the Microsoft Exchange Transport service stopped on Fabrikam server, we will send two messages from mike@fabrikam.com to john@contoso.com. The first message priority would be Normal and then second message with High priority.
We can then use the Queue Viewer Utility to check how messages are queued up on the Fabrikam Exchange server and once you log in to john@contoso.com account, you will see messages are delivered as per the order they were sent, means Normal priority message would be received first which is place at the bottom and High priority message on the top which was received later.
From here, we can conclude that priority queuing is disabled.
We can also change the Protocol logging level to Verbose on Contoso Exchange server to determine how the messages are processed.
Follow the below steps to set the Protocol logging level to Verbose on Contoso Exchange Server:-
1. Open the Exchange Management Console.
2. Expand Server Configuration > Hub Transport.
3. Select the Hub transport server and in the bottom pane, right-click the default Receive connector and click on Properties.
4. On the General tab, set the Protocol logging level to Verbose as show below:-




Once protocol logging has been set to Verbose, you can find the protocol logs from the default location, which is \Program Files\Microsoft\Exchange Server\V14\Transport Roles\Logs\Protocol Log folder. Under the Protocol Log folder, there are separate send and receive connectors folder which are named as SmtpSend and SmtpReceive respectively. We can review these files to check how messages are processed when two different messages, High and Normal priority, are sent from mike@fabrikam.com to john@contoso.com. At this stage, priority queuing is disabled; therefore, message with normal priority is processed first despite the fact that other message was marked with High priority.

Steps to Enable Priority Queuing
As we know, priority queuing is by default disabled in Exchange Server 2010. Once this feature is enabled, messages will be delivered based on their priority settings. Enabling priority queuing is a straightforward process which requires editing in one parameter only. We need to edit the EdgeTransport.exe.config file that is by default located in the \Program Files\Microsoft\Exchange Server\V14\Bin\ folder by default.

Default parameter is “false
<add key="PriorityQueuingEnabled" value="false" />

And should be change to “true
<add key="PriorityQueuingEnabled" value="true" />
Once above parameter is changed, restart the Microsoft Exchange transport service for the changes to take effect.
Now we are ready to test again if priority queuing is working or not. To do so, repeat the above steps. Stop the Microsoft Exchange Transport service on the Contoso Exchange server. Send two messages from mike@fabrikam.com to john@contoso.com with different priority. The first message priority should be Normal and High for the second message. To verify if High priority was delivered first or not, we can use below options:-
1. Log in to john@contoso.com account (Outlook or OWA) to check which message was received first. High priority message would be placed at the bottom which means first message.
2. The Protocol log file also provides a clear picture that message with High priority was processed first.
3. Message Tracking feature in Exchange Server 2010 also display the same results.

No comments:

Post a Comment