Simplify performance engineering with smarter tooling
As the complexity of our IT landscape increases, our customers have higher performance expectations than ever before. Watching how my two teenage children navigate on their frequently used websites recently, I learned that:
they expect websites to load instantly
they click at lightning speed
they abandon a ‘slow’ site in less than a second
The trouble is, many of our most beautifully designed applications won’t fulfill such high-performance expectations. Soon, once the iGen generation (those born between 1995 and 2012) take over, these expectations will become standard. Don’t wait until your sales decline due to a high abandon rate—start today and learn how to make performance engineering a fundamental part of your value stream.
Speeding up response times
The time it takes to achieve the performance level you need depends on your approach as well as on the contents of your toolbox. If you start focusing on final performance validation only a few weeks before go-live, you won’t be able to fix the identified issues in-time. So, start now to introduce performance engineering by building the necessary awareness—get everyone involved in optimizing performance!
By bringing in experienced engineers you can ensure the success of your engagement with performance engineering. Using their knowledge and experience, these engineers will guide you in every aspect of performance for your new project, from non-functional requirements to best tooling, implementing tests, analysis and tuning. The junior engineers can learn how to tackle critical performance hotspots from these experts. Once they reach a similar level of experience, these juniors can help to grow your next generation of performance-optimization specialists.
Switch to a performance framework
Trying to reinvent the wheel will only drain your resources—don’t waste time starting everything from scratch. Save time and resources by documenting your performance-engineering process including input, responsibilities and deliverables. Get all your engineers to follow this process. Standardize your documentation for every stage of the project from planning through to the reporting of performance results. Centralize the tracking of performance-testing projects, and build transparency for all your assignments in the performance-optimization stream. You’ll find that using this kind of framework dramatically increases your chances of successful performance engineering.
Don’t play the blame game
Too often, engineers blame each other when response times are not within the expectations. They throw accusations at each other, and usually fail to identify any solution through their lengthy discussions. Don’t waste time with such blaming meetings. Use the right tooling instead to create transparency. A transaction-monitoring tool such as Dynatrace will shine a light into the dark, and an experienced engineer can interpret the collected figures. Both from a financial and organizational point of view, better monitoring is always much more efficient than dealing with blaming or relying on trial and error.
Avoid a one-tool-fits-all approach
As new technologies arrive; our existing testing or monitoring tools may no longer provide the required support. Teams tend to find workarounds that allow them to test and monitor new technology stacks such as Docker or progressive web apps by accepting some compromises. Imagine you are testing a modern single-page application (SPA) but your load-testing suite doesn’t allow you to simulate a real browser. You decide to proceed with a compromise that is limited to client-server interactions for this SPA. You’ll probably have difficulty in nailing down many performance hotspots because there is little client-server communication. Inadequate tooling is a waste of money—and leaves a high risk. It’s a good idea to spend some time on research and find the best solutions for your current challenges. The SaaS-based load injection and monitoring solutions, for example, together make a service offering that is now rapidly gaining popularity.
Developers are often assigned to new projects once the specified requirements are implemented, and this can mean that performance hotspots are detected too late. Addressing these hotspots often involves substantial development time and re-design. You can avoid this situation by making performance testing part of your developer’s daily work—they can assess the response times of their services, run API-level tests after a new build is created, and check essential performance figures continuously.
Moving performance analysis to your ops teams and making it part of their daily work also enables a more proactive approach. This way of working prevents any minor changes from affecting the user experience. Forget log-file analysis. Production teams need powerful APM solutions that provide transparency and deliver full stack-performance insights.
Smart tooling for better performance
Try these tools for enhancing performance:
task tracking and planning suites such as Jira
knowledge portals such as Sharepoint or Confluence
development and debugging tools such as Eclipse or Visual Studio
powerful editor such as UltraEdit, Notepad++ or Atom
page-speed analysis tools
modern browsers such as Chrome or Firefox
modern user-simulation tools such as LoadView
network tracing tools such as Fiddler
transaction tracing tools such as Dynatrace
user-experience monitoring solutions such as Dynatrace
automated performance checks and alerting platforms such as UserView
Feel free to tell us how you simplified performance engineering in your firm.
Contact Performetriks if you’d like to simplify and sharpen your performance-engineering stream.
Keep doing the good things! Happy performance testing!