Got lost in the maze?
Many people believe that designing and coding for performance is difficult. Well, basically it isn't. As long as you adhere to a few trivial measures, like always keeping the operational requirements in mind, modularizing the code in a way that make isolated testing possible, and spending some quality time measuring and determining the impact of each module in a controlled test environment as you build your application, you can in principle always guarantee good performance.
Where the complexity sets in is when you create interdependencies among several systems and applications, as well as between individual modules within the same transaction monitor. Due to inadvertent serialization and resource sharing and locking issues, it can become exceedingly difficult to predict how the finished system will behave under various kinds of loads.
Entering the Matrix
Chaos theory dictates that one cannot numerically predict system behavior above a certain number of independant components. The predominant solution is therefore to subject the application to repeated tests, simulating all possible scenarios, and willfully stressing the system to levels where things start to break. By analyzing the behaviour of the entire system complex - end-to-end - one can deduct dependencies that can lead to bad performance later in the production setup.
Avenida specializes in performance optimization of complex systems, with focus on end-to-end monitoring, performance analysis, performance tuning and service level management. By using our specially built monitoring tools we can help your team design a realistic load simulation, measure the actual impact, and document where things is most likely to break first.
Wouldn't that be nice to know today... and not when your application is first in production?