cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Node Business Transaction Limit Explanation

Phil.Laks
Creator

I'm trying to improve my understanding of the granularity of BT registration limits.  I recognize that an on-prem controller has a default of 200 max controller-wide; however, I also see that there is a 50 BT limit to a node/agent.  What exactly does that mean?  My example application has several nodes, one tier, and has between 100 and 200 BTs registered.  So I'm curious how a node can only register/keep track of ONLY 50BTs.

 

Repeated for clarity: My controller has multiple, essentially identical nodes with >50BTs registered to the application while serving only these nodes.  Does each node just accept the first 50BTs it registers and drop data for all others?

1 REPLY 1

Rajesh.Putta
AppDynamics Team

Hi Philipp,

 

Answering your question

 

 By default controller business application can accept up to 200 BT's and each node (JVM's instrumented with agent) can generate/register up to 50 BT's by default.

 

Example: If you have 4 nodes under application and each one is generating 50 BT's. 

 

Then each node's BT quota is over and any other overflowing transactions on any of the nodes will be grouped under a special BT named "All Other Traffic-<Tier-Name> ". This is the tier name which the traffic belongs to.

 

If 5th node starts reporting, then even a single BT cannot make it to controller as the controller BT limit per app is hit and controller starts rejecting it. All other traffic from 5th node will be grouped under "All Other Traffic-<Tier-Name> ". 

 

This is all on first come first serve basis of BT registrations across nodes to controller.

 

In general please find details here for more details for your understanding

 

There is a default limit of 50 BT's that a node/agent can register and there is a 200 BT limit that a controller can accept.

So agent can register only 50+1 BT on a first come first serve basis. Any other BT' that is getting detected after 51st BT gets dropped. Same on the controller side as well. So all the dropped or overflown calls are captured as part of another predefined BT named "All Other Traffic-<Tier-Name>" .

https://docs.appdynamics.com/display/PRO43/Organize+Business+Transactions#OrganizeBusinessTransactio...

LOCK DOWN BT's
https://docs.appdynamics.com/display/PRO43/Organize+Business+Transactions#OrganizeBusinessTransactio...BusinessTransactions

All overflown calls will go into that predefined BT. The same thing has happened on your setup. New BT with name has been created with name "All Other Traffic-<Tier-Name>" and overflown calls are moved into that BT.

To avoid such issues please follow the below suggestions.

Generally increasing in BT limit can have memory impact so would be great to try this in test env first .

Increasing the BT limit is highly discouraged as it creates the additional overhead on both controller and agent.

As a first priority
we suggest you to exclude/delete the unwanted BT's so as to make the new BT's to register. Please find the relevant screenshot to exclude /delete the BT.

Try resetting app server agent/node from where you are expecting custom BT is coming from so as to reset the Business Transaction limit counter to zero for that agent and see if that helps you.

http://docs.appdynamics.com/display/PRO13S/Manage+App+Agents#ManageAppAgents-ResettingAppAgentstoPur...

Excluded BT's will not count towards BT limit.

Second priority
Please find the following options to increase the number of BT's registered from both controller and agent perspective.

Controller Limits (ONLY FOR ON PREMISE CONTROLLER BUT NOT FOR SAAS CONTROLLER)

On controller side there is a default limit of 200 (ONLY in case of on premise controller installation)

To increase the limits, please follow the steps

1) Stop controller appserver as below


Navigate to <Controller-install-dir>
For Linux
./controller.sh stop-appserver
For Windows
controller.bat stop-appserver

2) Take a back up of domain.xml file before making any changes. You can find domain.xml under


<controller-install-dir>\appserver\domains<domain-name>\config

3) Make the settings as below

You can increase the number of BT's on controller by adding below option.But increasing this value is highly discouraged as it creates additional overhead.
<jvm-options>-Dmaximum.bts.per.application=NEW_LIMIT </jvm-options> in <controller-install-dir>\appserver\domains<domain-name>\config\domain.xml file
NEW_LIMIT in the above jvm option is just an example you can give it any value as the default value is 200.
4) Start controller appserver as below


Navigate to <Controller-install-dir>
For Linux
./controller.sh start-appserver
For Windows
controller.bat start-appserver


AGENT LIMITS
On agent side there is a default limit of 50 per agent

You can increase the number of BT's on agent by increasing this value.But increasing this value is highly discouraged as it creates additional overhead.

Increase the following agent node level property
Node Property max-business-transactions 
default value is 50

The consequences are once the BT limit is hit all the overflown transactions are captured as a part of other BT with name "All Other Traffic – <Tier Name>" BT.

Please refer to below docs link for more clarity
https://docs.appdynamics.com/display/PRO39/All+Other+Traffic+Business+Transaction

Once you take care of BT limit hit issues and things will be as expected by you.

2) What Deletion of BT does
Once a BT is deleted,it will not count towards BT limit and all data associated with it will be lost and will not count towards BT limit. But again when there is a load onto those BT's they will again get registered on controller.

3) What Exclude does
Once a BT is excluded, it will not count towards BT limit. Even though if there is a load on to those requests in the future, it will not be detected as BT's. A BT' once excluded can be un excluded and brought back on to controller.
Exclude /Delete BT will give a chance for other BT's/same BT's on first **bleep** first basis to get registered provided if there is room with in the defined BT limits.

4) What Reset does
Try resetting app server agent/node from where you are expecting custom BT is coming from so as to reset the Business Transaction limit counter to zero for that agent and see if that helps you.
http://docs.appdynamics.com/display/PRO13S/Manage+App+Agents#ManageAppAgents-ResettingAppAgentstoPur...

On the whole we suggest you to customise BT entry rule discovery to avoid running into any limits.

Thanks
Rajesh