top of page

Performance Testing with NeoLoad: A Detailed Exploration of WebFocus Use Case

  • Writer: Manasi Bansode
    Manasi Bansode
  • Jan 27
  • 3 min read

Updated: 5 days ago

In today’s software-driven world, ensuring the seamless performance of applications under varying workloads is a necessity. For performance testing, tools like NeoLoad empower testers to simulate real-world conditions and optimize application behavior. In this blog, we’ll delve into the practical use of NeoLoad for WebFocus performance testing, focusing on scenarios like chart rendering, page loads, data uploads, and resource utilization.



Understanding the Scope of Performance Testing


What exactly are we focusing on in this
performance testing?

In the WebFocus performance testing project, the primary focus areas included:

  1. Chart Rendering: Time required to render single and multiple charts.

  2. Page Performance: Monitoring login/logout and page rendering times.

  3. Resource Utilization: Tracking CPU and memory usage during various operations.

  4. Data Uploads: Measuring the time, CPU, and memory required for data uploads.

These benchmarks were vital to ensuring optimal application performance under increasing workloads.



Testing Process and NeoLoad  Features

The Process: From Recording to Optimization


1. Recording the Scenario Flow

The first step was to record user interactions. For instance, in a chart-rendering scenario, the flow of loading, interacting, and rendering charts was captured using NeoLoad's recording feature.


2. Script Customization

Post-recording, scripts were adjusted to ensure reusability:

  • Dynamic Parameters: Tokens (e.g., session IDs) generated during requests were identified and correlated. For hidden tokens, developer tools were utilized to trace their origin and ensure they were passed correctly in subsequent requests.

  • Parameterization: URLs, usernames, passwords, and IPs were parameterized to make scripts adaptable for different environments, releases, or multiple users.

  • Loops: Requests with multiple calls were optimized by implementing loops to handle repetitions effectively.


3. Preliminary Testing

Before load testing, the scripts were tested with a single user to verify functionality. This step ensured that all dynamic parameters and correlations were correctly handled.



Load Testing with NeoLoad


Once the scripts were verified, load testing was performed:

  1. Setup: A Load Generator (LG) was configured to simulate user traffic, and the controller executed the recorded scripts.

  2. Testing Parameters:

    • CPU and memory usage were monitored.

    • Response times were analyzed for specific workloads.

  3. Scaling Observations: Tests assessed how the system scaled with increasing loads, identifying bottlenecks or performance degradation.



Performance Analysis and Optimization


When performance issues arose during testing, the following measures were taken:

  1. Resource Allocation:

    • Increased CPU and memory for the WebFocus environment.

  2. Request and Database Optimization:

    • Identified long-processing database queries and collaborated with developers for optimization.

  3. Heap Dump Analysis:

    • Collected heap dumps for detailed investigation of memory-related issues.

  4. Detailed Reporting:

    • Created detailed reports highlighting response times, resource utilization, and optimization recommendations.



NeoLoad Features that Enhanced Testing


  1. Dynamic Parameter Handling: Simplified the treatment of session tokens and hidden parameters.

  2. Parameterization: Enabled reusability of scripts across environments and user scenarios.

  3. Realistic User Simulation: Simulated complex interactions such as rendering multiple charts or uploading large datasets.

  4. Resource Monitoring: Provided real-time insights into CPU and memory usage, enabling quicker bottleneck identification.

  5. Integration: Collaborated with tools like developer consoles for deeper analysis.



Example Scenario: Chart Rendering Benchmarking


  • Objective: Test the rendering performance of 10 simultaneous charts.

  • Process:

    • Recorded the chart rendering workflow in NeoLoad.

    • Customized the script to handle dynamic session tokens and parameterized user inputs.

    • Ran a baseline test with a single user, followed by load testing with 100, 500, and 1,000 concurrent users.

  • Outcome:

    • Identified bottlenecks at 500 users due to CPU exhaustion.

    • Recommended increasing resources and optimizing chart generation queries.



Benefits of Using NeoLoad


Benefits of NeoLoad

  • Efficiency: Parameterization and dynamic handling reduced scripting effort.

  • Scalability: Load generators allowed easy simulation of large-scale user traffic.

  • Precision: Real-time monitoring and detailed reporting enabled accurate issue identification.

  • Reusability: Modular scripts streamlined testing across environments and releases.



Conclusion


NeoLoad proved instrumental in ensuring the WebFocus environment could handle real-world workloads. From recording and customizing scripts to analyzing performance under stress, NeoLoad simplified the performance benchmarking process. Its ability to simulate realistic conditions, monitor resource utilization, and provide actionable insights makes it a vital tool for any performance testing team.

Whether you’re testing chart rendering, page loads, or data uploads, NeoLoad offers the tools and flexibility needed for comprehensive performance benchmarking. Start leveraging NeoLoad today to unlock your application’s full potential!



Comments


bottom of page