donderdag 14 juli 2011

Know where to look for bottlenecks! Business Transaction!

Time is of the essence when facing performance problems. We need to find out what's going on and who is effected by it.
If you have a distributed environment with clusters, multiple tiers, loadbalacing... Things can become a bit tricky in finding the root cause.
You will need to monitor everything that could be a potential bottleneck:

  • Memory
  • CPU
  • IO
  • Network
  • Application(s)!
Copyright AppDynamics


A business transaction is a way that helps you visualize one or more 'user interactions' in a certain theme.

 Example of business transactions:
  • Show detail
  • Checkout
  • Find product

 These 'user interactions' can run over one or multiple application transaction(s) which on their turn can be spread over one or our multiple nodes/tiers. The goal is to simplify and clarify. By doing this we can more easily estimate the impact of the problem and triangulate the problem faster. We are no longer looking at individual graphs of multiple machines but one business transaction that can run across multiple machines!
This small list of business transactions looks simple enough:



But when we have a closer look on what's happening, we can see how skillfully it hides it complexity.



The trick in defining business transactions is to make it 'user centric' => simple.
If your Dev, Ops, Business and/or a normal person. You can understand the importance if your checkout transaction is going slow, it's costing money!
So how do we create business transactions?
We are again using AppDynamics to help us show how it's done.

Dynamic discovery find our transactions automatically in most web applications. For Non-web-application, you can simply choose to listen to a class, interface or method.

We can add one our more simple rules to help us find our transactions. You can also simply choose to listen to a class, interface or method. (not visible on the screenshot)



In case we want to know more, for example we want to check our special sales offers or even more important COLOR. We can do this as well!


Step 1

Step 2



Or we want more details, AppDynamics can help us even more. We can even use the payload. (Think REST/web-services!)




That's all for now. Next time, we will start looking in how to find/resolve blind spots. If you like to know more about business transaction click on the link.

2 opmerkingen: