Showing posts with label performance engineering. Show all posts
Showing posts with label performance engineering. Show all posts

Monday, June 9, 2025

Modern Performance Testing: A Transitional Series – Our Journey

Moving Beyond the Bottleneck: Kicking Off Our Modern Performance Testing Journey – How We Did It
For years, performance testing was a critical, albeit often siloed, stage in our software development lifecycle. We dutifully executed large-scale load tests, generated lengthy reports, and occasionally, after much effort, identified critical bottlenecks. This "traditional" approach, while valuable in its time, was increasingly struggling to keep pace with the demands of our modern software development initiatives.
The landscape had shifted dramatically. Agile methodologies, DevOps practices, microservices architectures, and continuous delivery pipelines became the norm across our teams. 

In this rapid-fire environment, waiting for a dedicated performance testing phase at the end of the cycle was akin to trying to steer a speedboat with a rowboat oar – slow, inefficient, and ultimately, ineffective. 

Performance issues found late were expensive to fix, delayed releases, and eroded user trust. We knew we had to change.
This wasn't about scrapping everything we'd done; rather, it was about transforming it, integrating it seamlessly into every stage of development. It was about moving from a reactive, bottleneck-finding exercise to a proactive, performance-driven culture. This is the story of how we transitioned to modern performance testing.
Welcome to "Modern Performance Testing: A Transitional Series – Our Journey."
In this series, we'll share the practical steps, lessons learned, and triumphs we experienced as we evolved our performance testing practices from a traditional, end-of-cycle activity to a modern, integrated, and continuous approach. We'll delve into the "why" and "how" of our transformation, providing insights that you can adapt for your own journey.
What We'll Share in This Series:
Over the coming articles, we'll break down how we tackled key areas:
 * Understanding Our "Why": We'll start by detailing the specific pain points and limitations of our traditional approach that compelled us to modernize. We'll discuss how the adoption of DevOps, cloud-native architectures, and a stronger focus on user experience amplified these pressures and made the case for change clear.
 * Our Shift-Left Strategy: We'll outline the concrete steps we took to embed performance considerations earlier. This includes how we integrated performance into our requirements gathering, conducted architectural reviews with a performance lens, and empowered developers with tools for unit and integration level performance testing.
 * Integrating Performance in Our Pipeline: Learn how we automated performance tests and integrated them into our CI/CD pipelines. We'll share our journey from manual triggers to automated gates, providing continuous feedback on performance metrics with every build.
 * Beyond Load Testing: Our Holistic View: We'll explain how we expanded our understanding of performance beyond just load and stress testing. This covers our implementation of real user monitoring (RUM), deep dives into application performance monitoring (APM) with our chosen tools, and how observability became a key pillar of our performance strategy.
 * The Tools That Helped Us: We'll reveal the specific tools and technologies we adopted (both open-source and commercial) that facilitated our modern performance testing journey, detailing how we selected them and integrated them into our ecosystem.
 * Building Our Performance Culture: We'll share the challenges and successes in fostering a performance-first mindset across our development, operations, and business teams. This includes training initiatives, cross-functional collaboration, and the establishment of shared ownership.
 * Measuring Our Progress and Iterating: Discover how we defined and tracked key performance indicators (KPIs) for our modernized approach and how we established a framework for continuous improvement, iterating on our processes based on real-world results.
Who Will Benefit From Our Story?
Our experience will resonate with anyone involved in software development and delivery:
 * Performance Testers and Engineers: See how we evolved our roles and skillset to embrace new challenges.
 * QA Managers and Leads: Understand the practical steps we took to transform our testing strategies.
 * Developers and Architects: Learn how we integrated performance into the very fabric of our engineering practices.
 * DevOps Engineers: Get insights into how we baked performance monitoring and testing into our automation pipelines.
 * Anyone concerned with software quality and user experience who wants a real-world example.

The transition to modern performance testing wasn't an overnight switch for us; it was a journey of continuous improvement, filled with learning and adaptation. But by embracing these new approaches, we've ultimately delivered a greater business value.
Stay tuned for our next article, where we'll kick off by dissecting the core limitations of our traditional performance testing setup and truly understand why this modernization was not just an option, but a necessity.
Join us as we share how we moved beyond the bottleneck and into a new era of performance excellence!

Saturday, March 12, 2016

This technology can cut website load time by 30%

Based on a research done at Harvard University students... ...

Slow-loading Web pages are surely one of the top frustrations on the Internet today, but new technology from MIT and Harvard promises to change all that. Announced on Wednesday, Polaris is a framework that determines how to sequence the downloading of a page's objects for faster load times overall.

Created by researchers from MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) and Harvard University, the new system promises to decrease page-load times by more than 30 percent -- with the potential for reductions of almost 60 percent -- by minimizing the number of network "trips" the browser must make.

When asked to load a given Web page, the browser must reach across the network to fetch objects such as HTML files, JavaScript source code and images. Sometimes, thanks to what are known as dependencies, evaluating one object requires fetching and evaluating others as well. A browser might have to execute a file’s JavaScript code in order to discover more images to fetch and render, for example.

“It can take up to 100 milliseconds each time a browser has to cross a mobile network to fetch a piece of data,” says doctoral student Ravi Netravali, lead author on a paper he'll present at next week’s Usenix Symposium on Networked Systems Design and Implementation.

"As pages increase in complexity, they often require multiple trips that create delays that really add up," Netravali added. "Our approach minimizes the number of round trips so that we can substantially speed up a page’s load time.”

Polaris automatically tracks all of the interactions among objects, which can number in the thousands for a single page, and creates a “dependency graph” for that page, enabling objects to be loaded in the optimal order for fastest speed overall.
Polaris is particularly well-suited for large and complex websites as well as mobile networks, because they tend to have larger delays than wired networks do, the researchers said.

Researchers evaluated the system across a range of network conditions on 200 of the world’s most popular websites, including ESPN.com, NYTimes.com and Weather.com.

Source:
http://www.computerworld.com/article/3042416/internet/this-tech-can-cut-website-load-times-in-half.html