Everyone wants to get more out of their data, but how exactly to do that can leave you scratching your head. Our BI Best Practices demystify the analytics world and empower you with actionable how-to guidance.
Laying the right foundation
Every new product or software sounds great on paper. But what happens when the rubber meets the road? No matter how much preparation you’ve done ahead of time, unforeseen challenges always crop up when you roll out a new solution. That said, let’s talk about the steps you need to take before you have your team or the entire organization start using a new piece of software.
Informational sessions, user acceptance training, and performance load testing are all vital parts of making sure that your new software suits everyone’s needs and can handle the strains that your organization will throw at them. Load testing might be one of the most important parts of this process. You need to know your software can meet your day-to-day needs and perform optimally. Let’s dig into exactly how to reach this goal.
What Is Load Testing?
Load testing is the practice of artificially simulating the real-life conditions under which you’ll use a piece of software. Some of the things load testing tries to determine are the max number of users the application can handle, infrastructure needs to run it, sustainability at peak user load, and how many concurrent users it can support (as well as how to scale to allow more users).
How load testing works is that trained experts from your data or IT team, or outside professionals from the software company itself, set up your system and then see how it performs under what would be “standard conditions” for your deployment. If you’re rolling out a new BI platform, the load-testing team would set up the dashboards that your company wants to use, exactly how your users want them, and then see how the system responds to usage by the number of people expected to access them. Makes sense, right?
That’s just the beginning of what load testing looks like and what it can teach you. First off, load testing doesn’t just stop at “normal conditions.” (How boring would that be?) What we’re looking for is a “tipping point,” where the system’s performance starts to lag seriously, or we get confirmation that the system can handle the expected load. This can be extremely instructive, as a little lag from one widget can spiral out of control when everyone is using the same dashboard at once. This information will be used later for dashboard optimization and to optimize system resources and configuration. Experienced testers apply sophisticated analytics to the entire deployment to find bottlenecks and figure out how to correct them.
How to Load Test like a Pro
Next, we’ll walk you through the load-testing process we use here at Sisense. First check out the flow chart below; it involves both our load-testing experts and lots of information from the people at the client company who will actually be using the software. After that, we’ll run through the individual steps.
- User stories: The first part of load testing involves a lot of talking and thinking. You start by identifying the business use cases you will need to test and developing user stories. Who are your users? What KPIs do they care about? How are they interacting with the dashboards they are creating? Ask your upcoming users these questions until you find your “main scenarios.” For example, an email marketer at an ecommerce company may want to start their day with specific views of their recent email sends and interactions, filtered by location and age group of the recipient. Meanwhile, an ad buyer wants to see clicks on their paid ad placements, but never looks at emails.
- Math (Testing Concurrent Use Cases): Once you’ve identified the most important scenarios, you want to understand the volume of the users who interact with each scenario (distribution, etc.). How many ad buyers are there? How many email marketers? What about all your other scenarios? Once you find out how many users there will be for these scenarios, it’s time for math!
The Sisense approach is to simulate a load of N users on the customer’s deployment site and monitor the results. The user numbers look like this:
- N = U1 + … + UN
- U1 is a count of virtual users (VUsers) with scenario 1, UN is a count of virtual users with scenario N, etc.
- The number of VUsers for each scenario may vary.
- Execution: Using load-testing software to capture selected user stories, we execute the load test based on the agreed-upon number of virtual users (from Math section above). Each test typically consists of 1-5 scenarios and takes 1-2 hours to complete from beginning to end, depending on the count of VUsers. This chart shows how the system ramps up the number of virtual users over time: This chart shows how the system ramps up the number of virtual users over time:
- Result Analysis and Recommendations: Using information from the load-simulation software and Sisense’s internal monitoring capabilities, we identify bottlenecks (if any), find any widgets that are lagging, etc. and recommend changes to improve system performance.
Can’t I Just Do This Myself?
You’ve got a data team, trained data engineers, and IT professionals, so you may be thinking: can’t I just do this myself? Absolutely! However, consider this: is that what your teams are really best at? They’re probably getting a handle on your new BI software, same as the rest of your company.
When it comes to load testing and analysis and making sure that everyone from frontline users to CEOs will be able to access the dashboards and insights they need to do their jobs and make informed decisions from day one, a DIY approach might not be your best answer. It’s thoroughly doable, but relying on skilled experts from your provider and the deeper product expertise that they can provide will most likely deliver the best results, more quickly. Additionally, when conducting loading testing and performance analysis with the vendor, you get the added expertise that they can bring to the table. They’ve spent years analyzing their product’s performance and can help tailor your deployment to optimize performance. Once the analysis and modifications are complete, they’ll even go back and load test the new deployment, ensuring that the changes that have been implemented have had the desired effect. Sometimes it pays to go with the pros!
Building on a Strong Foundation
Whatever you’re building, you need to start from a strong foundation. Part of that is picking the right BI solution for your company’s unique needs. Next comes load testing to make sure that your system is configured properly and that your dashboards are set up for maximum performance from the word go. The dashboard optimization and system fine-tuning that come with load testing from a skilled expert can go a long way towards ensuring that your rollout is as smooth as possible. Again: every new piece of software comes with hiccups and challenges, but with a thorough load-test before launch, you can be more secure in knowing that a total collapse probably won’t be one of them!
Amir Rothschild is a Solutions Architect at Sisense. When he is not working with complex customers, making sure their Sisense deployment best meets their needs, he likes to spend time with his family and conducts an Israeli group of 40 acapella singers.