none
What does CommandFrequency mean with respect to EAS throttling? RRS feed

  • Question

  • Hi all,

    I have an app that has been successfully accessing Office365 using Exchange ActiveSync in the same manner for a couple of years.

    Recently, however, the app has started to get throttled. I have found some information about how to react to the throttling at this page: 

        http://msdn.microsoft.com/en-us/library/exchange/jj899829(v=exchg.140).aspx

    That page provides no information about how to avoid being throttled, however. I find it difficult to believe that this is just a matter of 'server load', due to the consistency with which I can repeat the problem.

    The header in response that I receive from the server when it decides to throttle me look like:

          X-MS-ASThrottle: CommandFrequency

    Unfortunately, I have been unable to find documentation that describes the meaning of CommandFrequency. I am hopeful that once I know what this means, I will be able to address the problem.

    I have been able to find some references to this term on various Exchange Server 2013 pages that describe the ActiveSyncDeviceAutoblockThreshold server setting, but I have not been able to find descriptions of the possible settings for that option and what they mean.

    With respect to the client app, I have tried everything I can think of in order to slow down my frequency of 'commands'. I have slowed things down to the point where there is a single thread executing only 1 request every 4 seconds and the app still gets throttled.

    I hope you'll be able to at least point me to some documentation about CommandFrequency. Any other help you can provide would also be greatly appreciated.

    Thanks!

    Sunday, May 26, 2013 2:05 PM

Answers

All replies

  • Hi crashwrite,

    Thank you for your question. A member of the Protocol Documentation support team will respond to you soon.

    Regards,
    Vilmos Foltenyi - MSFT

    Monday, May 27, 2013 5:17 AM
  • Hello crashwrite,

    I will investigate this question and follow up with you on this forum.

    Regards,

    Mark Miller | Escalation Engineer | Microsoft Open Protocols Team

    Tuesday, May 28, 2013 11:05 PM
  • Hi crashwrite,

    The purpose of this forum is to support the Open Specifications documentation.  You can read about the Microsoft Open Specifications program here, http://www.microsoft.com/openspecifications/en/us/default.aspx.  The library of Open Specification documents is located here, http://msdn.microsoft.com/en-us/library/dd208104(PROT.10).aspx.

    I searched our Protocol Documentation and did not find the definition or details for CommandFrequency.  Therefore, I’ve asked our documentation team to address that in a future update.

    What you are referring to is the Exchange Activesync (EAS) Throttle Policy.  EAS Throttle Policy Active Directory (AD) schema changes were introduced in Microsoft Exchange Server 2010 SP2, http://www.microsoft.com/en-us/download/details.aspx?id=5401

    The ‘Error 503’ Throttle Header, 'X-MS-ASThrottle: CommandFrequency' means “too many commands”, and it applies to “how quickly the device is hitting the server in general (across all commands)”.  The procedure for dealing with being throttled is defined generally in the reference you sent, http://msdn.microsoft.com/en-us/library/exchange/jj899829(v=exchg.140).aspx section “Reacting to being throttled”.

    The default value for CommandFrequency is block after “400 commands in 10 minutes”, and block for “20 minutes”.  However, you may have some other value configured by the administrator and/or you could be encountering throttling for some other underlying performance reasons which require troubleshooting.  If you need assistance troubleshooting or have more questions concerning how to configure the EAS Throttle Policy you may want to post to the EAS Mobility Forum, and/or have a product support case created to assist, http://support.microsoft.com/get-support/more/.

    References that may be helpful regarding EAS Throttle Policy:

    http://messagingserversupport.com/2012/04/08/throttling-policy-in-exchange-2010/

    http://technet.microsoft.com/en-us/library/dd351045.aspx

    http://technet.microsoft.com/en-us/library/jj150503.aspx

    To retrieve the AutoblockThreshold limits refer to Get-ActiveSyncDeviceAutoblockThreshold,

    http://technet.microsoft.com/en-us/library/jj218618(v=exchg.150).aspx

    To set the AutoblockThreshold limits refer to Set-ActiveSyncDeviceAutoblockThreshold,

    http://technet.microsoft.com/en-us/library/jj218622(v=exchg.150).aspx

    For example:

    Set-ActiveSyncDeviceAutoblockThreshold CommandFrequency -BehaviorTypeIncidenceLimit 200 -BehaviorTypeIncidenceDuration 00:05:00 - DeviceBlockDuration 00:00:00

    Exchange Server 2013 API Reference, “AutoblockThresholdType enumeration”,

    http://msdn.microsoft.com/en-us/library/exchange/microsoft.exchange.data.directory.systemconfiguration.autoblockthresholdtype(v=exchg.150).aspx

    I hope this helps.

    Regards,

    Mark Miller | Escalation Engineer | Microsoft Open Protocols Team

    Wednesday, June 12, 2013 4:49 PM
  • Hi Mark,

    Thanks!

    This is very enlightening. 

    -Rich

    Thursday, June 13, 2013 12:45 AM
  • With Exchange 2016, have there been any changes to the default value for CommandFrequency ?


    Monday, October 5, 2015 5:15 PM
  • Hi,
    This forum handles requests related to Open Specifications documentation issues. The Open Specifications can be found at: http://msdn2.microsoft.com/en-us/library/cc203350.aspx. Your question does not appear to be related to the Open Specifications documentation set.
    I suggest you try the following forums to get assistance: 
    https://social.msdn.microsoft.com/Forums/exchange/en-US/home
    https://social.technet.microsoft.com/Forums/office/en-US/home?category=exchangeserver
    Thanks,
    Edgar
    Monday, October 5, 2015 9:27 PM
    Moderator
  • Hi Edgar,

    Thanks for the quick response.

    Let me rephrase the question and, essentially, cycle back to the beginning of this thread:

    Where can I find documentation about the   "X-MS-ASThrottle:" header that is received as part of the http response when communicating with Exchange server over the Exchange ActiveSync Protocol version 16.0?  

    In particular, where is the documentation that explains the meaning of the "CommandFrequency" value that is received as the value portion of that X-MS-ASThrottle header?

    Thanks,

        -Rich

     

    Monday, October 5, 2015 11:08 PM
  • Rich,

    Thank you for clarifying your inquiry. One of our engineers will review this and follow-up soon.

    Thanks,

    Edgar

    Tuesday, October 6, 2015 3:03 PM
    Moderator
  • Hello Rich : I'm researching this for you and will update the thread as I make progress.


    Tarun Chopra | Escalation Engineer | Open Specifications Support Team

    Tuesday, October 6, 2015 3:55 PM
  • Hello Rich :

    ‘CommandFrequency’ is a value which is set when a server is hammered within a matter of seconds with too many commands.  This relates to a condition that limits the absolute number of commands of any kind that may be made in some time window. With this condition, the server informs the client to back off and stops all sort of sync with the client for a certain interval. More information on throttling is available here for reference : https://msdn.microsoft.com/en-us/library/office/jj899829(v=exchg.140).aspx  

    You can use Get-ActiveSyncDeviceAutoblockThreshold command to fetch the default value in exchange 2016.

    We are working on getting this header documented in our specification as it’s now supported in the on premise version of Exchange Server.

    Regards


    Tarun Chopra | Escalation Engineer | Open Specifications Support Team

    Wednesday, October 7, 2015 9:26 PM
  • I am getting office 356 throttling with a 503 after just a single sync command. The command took a minute to return and came back with a 503 with throttling headers X-MS-ASThrottle and Retry-After of 60 minutes. It is working perfectly on dozens of accounts, but not this one. Any ideas why this could be?
    Tuesday, November 29, 2016 7:47 AM
  • Hi Mike:

    The response to your question is provided in this thread above by Mark Miller on June 12, 2013.


    Regards, Obaid Farooqi

    Tuesday, November 29, 2016 4:54 PM
    Owner