We often hear of huge crowds of shoppers thronging their favorite retail outlets on Sale Days like Black Friday, Cyber Monday or for holiday deals. Earlier, this would be people physically jostling each other to gain an entry to the outlet. Today it also means millions of people hitting the online store at the same time to buy the items on sale.
It’s easy to imagine the mayhem such a crowd would cause in a physical store.
Surge in online traffic could cause a similar mayhem as well (if not worse). This is true not just for websites dealing with retail products, but for any tech product that expects traffic dictated by real world interactions.
At Zipy, we deal with data at scale. The data we process depends on external factors that are not under our control. Since we could not predict the traffic patterns that we would deal with, it became very important for us to prepare for the unexpected.
Enter the need for Load Testing.
In simple terms, load testing is a kind of performance testing where real-world simulations are created to measure and analyze the performance of the product under load. The identification and analysis of bottlenecks under load becomes a key outcome of the process.
There are many load testing tools available in the market today. We needed to zero in on a tool that would help us anticipate issues in our product under heavy load and be flexible enough for us to tinker with. Since we’re a growing start-up, we needed a versatile tool that we could continuously build on as we expanded.
When we were taking our decision to choose one among the many tools, this is what we were looking for:
Gatling is a very popular open source Load Testing tool for analyzing your product’s performance precisely and identifying its bottlenecks. Now, let’s see how Gatling fit into our scheme of things -
So now we’ve looked at why Gatling made sense for us. We started using Gatling very early on in our journey. We used it early & we have used it often. In fact, we have used it for cases where we did not envision that we would use a load testing tool.
What we have discovered along the way is that the only thing that limits your use of a flexible tool like Gatling is your imagination. We do have a lot of other use cases which we would like to explore and build with Gatling as we continue our journey of building our tech product.
Load Testing should not be an afterthought in your software development lifecycle. It is a lot more useful to load test early & load test often. Load testing with a flexible & versatile tool like Gatling can give you very useful insights that you can use to make your product stable, resilient & highly performant.
It is no less than a nightmare when a feature request from the product team is not getting fit with the current system. So this feature request required some heavy aggregated functions which did not give satisfactory results with a row-based database.
As a developer myself, the most complicated part of the job is not writing the code but reproducing an issue the customer reported, debugging, and fixing the issue. With such little information at your disposal, it becomes a nightmare to start debugging the issue, let alone fixing it. Can we do something better here?
Continuous Integration and Continuous Delivery (CICD) are terms used to describe a process where multiple changes are made to a codebase simultaneously. In very simple words, CI is a modern tool for development practice in which code changes are made frequently.