none
Streaming Notifications – impact on performance and relation with the throttling settings RRS feed

  • Question

  • For the calendars synchronization solution (Exchange <->LOB calendars) we use EWS managed API with Pull Notifications. One service account is used for the impersonation of all user’s mailboxes/calendars. Pull notification was chosen for this solution as it will work for any Exchange 2010 environment, on premise, hosted or online.
    This solution works well but in the environments with many user’s mailboxes, 1500+ , we experience performance issues and delayed sync. Therefore we started discussion about adding Push notifications for the Exchange on premise environments.  Then I came across information about Using Streaming Notifications with Exchange 2010 SP1 (http://msdn.microsoft.com/en-us/library/hh312849%28EXCHG.140%29.aspx), looks perfect for our solution …
    Still, there is not much documentation about Streaming Notifications and I wonder what would be performance impacts if we will use Streaming Notifications in combination with SyncFolderItems in environments with a lot of mailboxes.
    Should we use one StreamingSubscriptionConnection for all streaming subscriptions?
    How is this related to the throttling settings, in particular for the Office 365?

    Thanks in advance.

     

    Monday, October 17, 2011 11:44 AM

Answers

  • Well, the link Glen provided gives you the answer to your first question.

    Quote:
    EWSMaxSubscriptions – Identifies the maximum number of push, pull, or streaming notification subscriptions. If a server has too many notification subscriptions, it will start returning server busy errors. The server starts to return errors when the number of open connections reaches approximately 20 for a user. The charges for EWSMaxSubscription are calculated as follows:

    So, pull notifications are handled the same way streaming subscriptions are handled - approx. 20 per user are allowed.

    Regarding your second question: I unless you do a polling with a very low frequency, I would say that the impact of streaming subscriptions on your server will be lower, as fewer calls are made to the server. So, if you can, use Streaming subscriptions.

    Kind regards,
    Henning

    If you get your question answered, please come back and mark the reply as an answer.
    If you are helped by an answer to someone else's question, please mark it as helpful.

    • Marked as answer by SanjaDj Tuesday, October 18, 2011 1:14 PM
    Tuesday, October 18, 2011 11:47 AM

All replies

  • The impact will certainly be smaller if you use StreamingSubscriptions. And you can use one streaming connection for multiple subscriptions, this is no problem.

    Regarding throttling: I assume, normal throttling policies will apply and each SyncFolderItem request will count towards your call contigent.

    Kind regards,
    Henning

    If you get your question answered, please come back and mark the reply as an answer.
    If you are helped by an answer to someone else's question, please mark it as helpful.

    Monday, October 17, 2011 4:07 PM
  • The other thing to consider with Office365/Exchange Online is that you have to contend with the default throttling policy which AFAIK you can't change or create your own. Under the default throttling policy you can create a maxiumn of 20 notification subscription per user http://blogs.msdn.com/b/exchangedev/archive/2011/06/23/exchange-online-throttling-and-limits-faq.aspx EWSMaxSubscriptions (Even when your using impersonation it counts against the service account your using not the Mailbox being impersonated).

    Cheers
    Glen

    Tuesday, October 18, 2011 4:15 AM
  • Hi Henning and Glen,

     

    Thank you both for the helpful answer.

     

    @Glen: From your answer about throttling policy it seems that for the synchronization of large number of calendars, using one service account, currently only implementation with Pull notifications will work in Office 365/Exchange Online. Is that right?

     

    @Henning: Assuming that we still need implementation with Pull notifications for the Exchange Online would you recommend use of Streaming Notifications in combination with SyncFolderItems for the on-premise and/or hosted Exchange 2010 (SP1)?

     

    Kind regards,
    Sanja

    Tuesday, October 18, 2011 11:12 AM
  • Well, the link Glen provided gives you the answer to your first question.

    Quote:
    EWSMaxSubscriptions – Identifies the maximum number of push, pull, or streaming notification subscriptions. If a server has too many notification subscriptions, it will start returning server busy errors. The server starts to return errors when the number of open connections reaches approximately 20 for a user. The charges for EWSMaxSubscription are calculated as follows:

    So, pull notifications are handled the same way streaming subscriptions are handled - approx. 20 per user are allowed.

    Regarding your second question: I unless you do a polling with a very low frequency, I would say that the impact of streaming subscriptions on your server will be lower, as fewer calls are made to the server. So, if you can, use Streaming subscriptions.

    Kind regards,
    Henning

    If you get your question answered, please come back and mark the reply as an answer.
    If you are helped by an answer to someone else's question, please mark it as helpful.

    • Marked as answer by SanjaDj Tuesday, October 18, 2011 1:14 PM
    Tuesday, October 18, 2011 11:47 AM