BreadcrumbHomeResourcesBlog Best Practices For BlazeMeter Private Location Sizing February 16, 2022 Best Practices for BlazeMeter Private Location SizingTest AutomationBy Daniel MazzeiPrivate Locations extend BlazeMeter testing and mock service capabilities beyond the native SaaS platform and bring them within a customer-controlled environment.Private Location sizing depends on many factors, including:Use caseHardwareNetworkUser locationApplication locationFor this reason, it is recommended you start with a known base environment, evaluate the performance of your environment while running your test, and then scale the test or the environment up or down as needed.If you are not familiar with Private Locations, review the Creating a Private Location before proceeding.Step 1: Determine your use caseWhen deploying a private location and agents, the first consideration is your use case and the BlazeMeter features you want to use. For example, if you want to use performance testing with local load generators, you need to enable the Performance functionality for the private location and ensure the agent has the proper resources (e.g., processors, memory, and storage capacity) to support the tests. Performance tests rely on the number of engines and virtual users (threads), which must be calibrated. Likewise, Functional tests depend on the number of Web browser sessions and Mock Services depend on the number of virtual services per agent and the frequency of transactions to those services. NOTE: Although it is possible to enable multiple Functionalities on a single Private Location, it is highly recommended that you use a different Private Location for each core functionality, including Performance Testing, Functional Testing, and Mock Services.Step 2: Determine your resourcesThe second consideration is to determine what size machines are available to you. Private Location performance depends on the number of processors (CPU cores), amount of memory (RAM), and amount and speed of storage (HDD) available to each agent.Most machines provisioned these days are not physical machines but virtual machines. Often these virtual machines are allocated from services like AWS, GCP, Azure, etc. Your company may have an agreement with one of these providers to use preferred machines that provide certain RAM/CPU/HDD at a discounted price. If that is the case, you would want to ensure the machine size you select both adheres to the Private Location System Requirements and meets your own needs. NOTE: To avoid unnecessary troubleshooting and support issues, we recommend you actively monitor your system resources and size your agents so utilization does not exceed 80%. This allows room for occasional increased usage without impacting your overall system health and invalidating your tests.Step 3: Anticipate growthThe third consideration is the total number of Private Locations and Agents you will need based on your use cases and available resources.Here's how you would calculate the number of Agents required on a Private Location to run a particular performance test: Requirements: Each allocated VM is configured with 16 CPU cores and 64GB RAM (company standard)Maximum 100,000 virtual users required for the test Assumptions:Maximum 500 virtual users per engine (+/- based on your testing)Each Engine has 2 CPU cores and 8GB RAM (per engine; +/- depending on size of machine) Calculations:To determine the maximum number of Engines per Agent for performance testing, divide your machine size in RAM/CPU by the requirements:16 CPU available (2 per engine)64GB RAM available (2 per engine)= 8 engines max per agent with 2 CPU/8GB RAM each To determine the maximum number of Agents required across all Private Locations:100,000 virtual users max / 500 virtual users per engine= 200 engines total required/ 8 engines per agent= 25 agents total requiredTherefore, in this example, each agent is a separate physical or virtual machine with 16 CPU cores and 64GB RAM running 8 engines to generate load from 4,000 virtual users. A total of 25 agents would allow you to reliably generate the load simulating 100,000 users. The values calculated above would be entered in the private location configuration as shown below: NOTE: These do not represent actual required values. BlazeMeter regularly generates loads for millions of users without requiring this number of resources. These calculations are for demonstration purposes only.When sizing your private locations, it is important to consider first your use cases, then your available resources, and finally to anticipate growth. If needed, contact BlazeMeter Support for assistance sizing your private locations.START TESTING NOW Related ResourcesAutomating Private Location Installations with BlazeMeterTesting Behind the Firewall: Securing your Data with BlazeMeter Private LocationsDeploying BlazeMeter Private Locations on Azure Kubernetes Service
Daniel Mazzei Software Engineer, CA Technologies Daniel Mazzei has over 16 years software development and testing experience. He joined CA Technologies as a Product Manager in 2015 and today, on behalf of the Engineering Services team, he strives to deliver customer value and improve ROI of new and existing solutions.