web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Customer experience | Sales, Customer Insights,...
Unanswered

Request for clarification on AsyncMaximumThreadsPerCPU

(1) ShareShare
ReportReport
Posted on by 20

This post may seem rambling but I need to know if I'm understanding some on-prem settings correctly.

Our on-prem servers frequently run in to Thread errors when creating and processing records in bulk - I won't get in to the specifics, but bring it up to say that it has caused us to examine various settings to troubleshoot it, including AsyncMaximumThreadsPerCPU. This is a very difficult setting to research, as there seems to be a single piece of documentation on the matter and every source on the internet copies it verbatim with no analysis or elaboration on the subject.

From what I can tell, the formula for configuring this is as follows:

AsyncMaximumThreadsPerCPU (an unknown number we have to solve for) * [Number of CPUs] * AsyncMaximumThreadsPercent [which is actually an unchanging constant equal to 0.6] = 100

As I understand it, the number at the end doesn't strictly need to be 100, but we want to configure AsyncMaximumThreadsPerCPU to get that number as close to 100 as possible without going over in order to operate fastest and most efficiently. So, let's rearrange this to solve for that.

100/(CPUs * AsyncMaximumThreadsPercent) = AsyncMaximumThreadsPerCPU 

Plugging in the numbers...

100 / (4 * 0.6) = 41.66

We don't want to go over, so we set AsyncMaximumThreadsPercent to 41, meaning that instead of 100% the original equation equals 98.4%.


The first actual question I have is - did I understand all of that correctly? Or is there some kind of glaring error in my approach?

Second question - Our on-prem Dynamics environment has multiple backend servers. Should the "Number of CPUs" variable be the number of CPUs in a single backend server, or should it be the number of CPUs in all of our backend servers combined?

Third question: Is it even possible for thread errors to result from configuring these settings incorrectly? I accept the possibility that these configurations merely effect how efficient dynamics ends up being, with no bearing on potential errors.


I invite the wisdom of anyone who thinks they can answer any of these three questions. Just please - don't link me back to that same powerobjects blog article about MSCRM_CONFIG settings that everyone just copies and pastes the contents of without iterating on. I promise you I've already seen it.

I have the same question (0)

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > Customer experience | Sales, Customer Insights, CRM

#1
Tom_Gioielli Profile Picture

Tom_Gioielli 70 Super User 2025 Season 2

#2
Gerardo Rentería García Profile Picture

Gerardo Rentería Ga... 33 Most Valuable Professional

#3
Daniyal Khaleel Profile Picture

Daniyal Khaleel 32 Most Valuable Professional

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans