Digital services are eating the world. Billions of websites provide almost everything you can image, and the competition is on the rise. End users are more and more in the driving seat because they decide what service they will use. Digital customers often ban services which provide a bad user experience. Therefore, excellent application performance becomes a top priority for many organizations. After outlining both, performance metrics and the term actionable insights, I will illustrate how you can transform the former to the latter.
According to technopedia, actionable insights are
“analytics result that provides enough data to make an informed decision.”
When it comes to performance engineering, specialists collect metrics which help them to understand the root-cause of hotspots. Decades ago it was very common that slowdowns were solved with additional hardware. Those times are gone. Nowadays, engineers have to deal with questions such as:
- Why is the number of frustrated users on the rise?
- Why is page speed score below the target?
- Why does service response time exceeds allowed thresholds?
- Why is the average size of our web page > 1 MB?
- Why is our system not scalable?
- Why is our application running out of memory?
When it comes to answering those questions, you can follow a trial and error based approach or derive the tuning recommendation from your collected performance metrics. I highly recommend following the latter because the former will result in endless war rooms trial and error exercises.
What are the typical performance metrics
2. Service layer. User interactions lead to service calls and whenever a slowdown arise you should be able to identify the time beeing spend on your middleware. Typically, those service based metrics include response times, throughput, error rates, exceptions, 3rd party service call figures, heap statistics and much more.
3. System layer. Network, CPU, memory and IO metrics are also critical factors for our applications. If they are often above acceptable thresholds, they can quickly influence overall application performance.
Extensive data analytics and data processing
Almost every business application collects some log file data, but if you intend to nail down performance hotspots, the information provided in log files is most likely not useful. You will need each, and every user transaction to be taken into account including your horizontal components such as web server, application server, and databases as well as 3rd party services. Obviously, you will deal with big data volumes. Monitoring and testing platforms are nowadays well equipped to manage millions of such transactions.
Make a proper course of action
Forward-thinking players started with the implementation of performance analytics engines. Their vision is clearly the reduction of operational efforts, and their mission is to make everyone act as a performance engineer. In the past, specialists were responsible for the correlation of those insights. Such experts are aware of many slow-down patterns, and their radar identifies those quickly.
In the past, experienced engineers transformed performance metrics to actionable insights. However, in recent years automation is slowly taking over. Algorithms decide forthwith about the acceptance of user experience and point out the root-cause of performance slowdowns. Such artificial performance advisers are still in early stages, but there is an immense potential.