Performance metrics

Overview

This section presents the results of performance testing conducted on Bold Reports® On-Premise Edition, focusing primarily on how the system performs when rendering large reports.

The tests also evaluate how the system behaves under concurrent user load, providing a comprehensive view of both report rendering performance and server-side stability. These results are intended to help you assess Bold Reports® stability, responsiveness, and scalability in real-world usage scenarios.

Report Rendering Performance in On-Demand Mode

The performance evaluation began with testing how Bold Reports® handles report rendering in On-Demand Mode, which is designed to optimize responsiveness when working with large datasets.

Enabling On-Demand Mode significantly improves performance by rendering only the visible portion of the data initially, allowing faster access to the first page.

Test Environment Configuration

  • RAM: 16 GB

  • Processor: 4 vCPUs

  • Deployment: Azure Virtual Machine

  • Report Name, Settings: Flat table report with 10 columns

  • Property settings: On-Demand (PageCreation → Background)

Performance Results

Records First Page Time (Standard Mode) (mm:ss:ms) First Page Time (On-Demand Mode) (mm:ss:ms) Query Execution Time (Standard Mode) (mm:ss:ms) Query Execution Time (On-Demand Mode) (mm:ss:ms)
100K 00:11:15 00:03:04 00:01:970 00:00:251
500k 00:36:18 00:02:88 00:03:415 00:03:415
1M 01:17:69 00:10:34 00:05:664 00:00:249
1.5M 01:56:60 00:02:87 00:19:200 00:00:249
1.7M 01:58:16 00:02:87 00:13:156 00:00:266
2M 02:20:66 00:06:56 00:15:197 00:00:255

These results confirm that On-Demand Mode significantly reduces the initial load time, even for reports containing over 2 million records.

General Performance Metrics

The following table outlines the performance metrics of Bold Reports® during report rendering with various row and column counts. The time taken indicates how long it takes to load the specified number of records.

Representative Performance for Various Data Sizes:

Column Count Row Count First Page Time (mm:ss:ms) Query Execution Time (mm:ss:ms)
10 1K 00:03:29 00:00:895
10 50K 00:03:26 00:00:254
10 100K 00:02:73 00:00:254
10 1M 00:02:58 00:00:246
20 10K 00:03:33 00:00:492
20 200K 00:03:56 00:00:242
20 1M 00:03:64 00:00:238

Note: As you can see, the time taken increases with the row count, particularly for larger datasets (100K or more). This highlights the system’s performance when handling large datasets.

Complete Performance Data Table

If you would like more granular details, the full dataset is shown below.

Column Count Row Count Records Time Taken (mm:ss:ms) Query Execution Time (mm:ss:ms)
10 1K 1K 00:03:29 00:00:895
10 10K 10K 00:02:94 00:00:234
10 20K 20K 00:02:83 00:00:237
10 50K 50K 00:03:26 00:00:254
10 100K 100K 00:02:73 00:00:254
10 200K 200K 00:03:27 00:00:284
10 300K 300K 00:03:12 00:00:287
10 400K 400K 00:30:30 00:00:287
10 500K 500K 00:04:47 00:00:247
10 1M 1M 00:02:58 00:00:246
20 1K 1K 00:03:00 00:00:240
20 10K 10K 00:03:19 00:00:251
20 20K 20K 00:03:19 00:00:251
20 50K 50K 00:03:89 00:00:249
20 100K 100K 00:03:21 00:00:241
20 200K 200K 00:03:56 00:00:242
20 300K 300K 00:03:06 00:00:246
20 400K 400K 00:03:47 00:00:227
20 500K 500K 00:02:90 00:00:229
20 1M 1M 00:03:64 00:00:238

Concurrent User Load Testing

We simulated 100 concurrent users to test how the system behaves under load. This type of test is essential for understanding how the system handles real-world scenarios where many users are running reports at the same time.

The test was conducted in a Kubernetes environment with the following system configuration:

  • CPU: 4 virtual CPUs (vCPUs)

  • Memory: 16 GiB RAM

The goal of this test is to help you understand how Bold Reports® On-Premise Edition performs under stress, allowing you to assess its stability and speed when multiple users are interacting with reports at once.

Test Setup and Key Parameters

The following table outlines the key parameters used during the performance testing, providing detailed information about the test configuration, including the number of concurrent users, test duration, and the specific settings used to simulate the load.

Property Value Explanation
Concurrent Users 100 Total users accessing reports simultaneously
Ramp Up period (seconds) 50 Gradual login of users. For 100 users, 2 users log in every second.
Loop 1 Number of times the test will repeat its process.
Thread Life Time (seconds) 700 Maximum duration of the test; ends after the set time, even if incomplete.
Startup Delay (seconds) 2 Initial delay before the test starts, to handle setup time.
RunTime Controller runtime (seconds) 480 Limits how long the test runs before stopping, applied to child elements.
Flow Control Action Pass Duration (seconds) 3 Regulates the speed of requests sent to the server during the test.

Performance Results

The test results highlight the system’s stability under load:

Test Run Success Rate
1st Run 100%
2nd Run 99.55%
3rd Run 99.91%

These results indicate that the system consistently performs well, maintaining stability across multiple test iterations.