Performance testing and tuning is one exercise that many teams are curious to do, but afraid of. The human brain always look for certainty. When you are not able to predict, some amount of anxiety sets in. In this internet and mobile world, performance cannot be ignored. So people do it for their app. App goes to production. Teams enjoy parties. After a few months, customers complain on slowness and teams are tired of so many meetings. Well, do you see this in your teams?
![may-7-2016-blog](images/may-7-2016-blog.png)
Most of the times, teams conduct performance testing and tuning for their own apps. Within their apps, they identify multiple scenarios and distribute the users across to ensure the SLAs are met. In production, your application is not having a separate room, it co-exists with other apps and databases. Now one rogue app or db, becomes resource hungry and all apps in that shared box or network slow down. Every team says that I have done load test before and no one is ready to accept it. I pity that IT head and the CIO!
Remember - you are not alone. In an enterprise scenario, co-existence with other apps and sharing details with other databases is inevitable. There are jobs that constantly push and pull across databases. There are batches running on many apps; different apps get load at different time windows.
Isolating that one rogue app or database job or batch process is one important thing, that enterprise CIOs should not ignore. This will not affect you on day one - but affects when you try to relax.
Net-net, even if your app works great, in an isolated environment, there are other apps that can pull the performance of your app down, when your app co-exists. Solving this issue can be done very easily only when you monitor all those apps continuously. Else, all teams will be wasting time of each other.