All Products
Search
Document Center

Lindorm:Query test results

Last Updated:Mar 30, 2026

LindormTSDB query performance benchmark across four cluster sizes. All tests ran in an isolated environment with no concurrent write operations — results represent read-only peak throughput. Query performance decreases when the volume of time series data is large, write and read operations run concurrently, or queries scan a large number of time series and time points. Review these results alongside your own business workload before making capacity decisions.

Test dataset

Property Value
Devices 100
Metrics per device 101 measurement values
Reporting interval 10 seconds
Data duration 1 day per device

Query types

Six query patterns are tested. All queries target the cpu.usage_user metric.

Query type What it measures SQL
1-host-1-hr-raw All raw values from 1 device over 1 hour select time, usage_user from cpu where (hostname = 'host_17') and time >=1514837782646 and time < 1514841382646 ;
1-host-1-hr Max value per minute from 1 device over 1 hour select time, max(usage_user) as max_usage_user from cpu where (hostname = 'host_17') and time >=1514837782646 and time < 1514841382646 sample by 1m
1-host-12-hr-raw All raw values from 1 device over 12 hours select time, usage_user from cpu where (hostname = 'host_0') and time >=1514787382646 and time < 1514830582646;
1-host-12-hr Max value per minute from 1 device over 12 hours select time, max(usage_user) as max_usage_user from cpu where (hostname = 'host_0') and time >=1514787382646 and time < 1514830582646 sample by 1m ;
1-host-latest Latest value from 1 device select time, latest(usage_user) as latest_usage_user from cpu where (hostname = 'host_50') sample by 0
8-host-latest Latest values from 8 devices select time, latest(usage_user) as latest_usage_user from cpu where (hostname = 'host_64' or hostname = 'host_80' or hostname = 'host_21' or hostname = 'host_5' or hostname = 'host_79' or hostname = 'host_47' or hostname = 'host_25' or hostname = 'host_18') sample by 0

Performance metrics

Metric Description
queryType Query type, as described in the table above
worker Number of concurrent queries
qps SQL queries per second
max_cpu Peak CPU utilization (%)
max_mem Peak memory usage (%)

Test results

Important

Each result table below is measured with only the test workload running on LindormTSDB. No other workload runs during the test.

Cluster 1 — 3 nodes, 4 cores, 16 GB memory

QPS scales well from 16 to 50 workers, then plateaus. Short-window queries (1-host-1-hr) reach up to 1,887 QPS. Multi-device latest-value queries (8-host-latest) are CPU-bound, reaching 97% CPU at all concurrency levels.

queryType worker qps max_cpu max_mem
1-host-1-hr 16 1,420.96 86.95 48.08
1-host-1-hr 50 1,865.50 83.45 49.32
1-host-1-hr 100 1,887.00 81.71 48.95
1-host-1-hr 200 1,846.00 82.99 48.87
1-host-1-hr-raw 16 1,324.80 79.54 50.34
1-host-1-hr-raw 50 1,722.00 86.42 50.96
1-host-1-hr-raw 100 1,737.00 86.36 50.92
1-host-1-hr-raw 200 1,752.00 87.09 50.88
1-host-12-hr 16 497.44 86.77 48.81
1-host-12-hr 50 555.00 95.05 48.81
1-host-12-hr 100 571.00 94.97 48.90
1-host-12-hr 200 584.00 94.77 49.11
1-host-12-hr-raw 16 286.56 82.20 51.04
1-host-12-hr-raw 50 328.00 95.34 51.14
1-host-12-hr-raw 100 330.00 96.51 51.21
1-host-12-hr-raw 200 334.00 96.70 51.56
1-host-latest 16 1,025.12 81.79 49.34
1-host-latest 50 1,146.00 93.36 49.42
1-host-latest 100 1,144.00 92.41 49.36
1-host-latest 200 1,164.00 92.89 49.44
8-host-latest 16 175.20 96.65 49.64
8-host-latest 50 180.00 97.01 49.95
8-host-latest 100 181.00 96.59 50.05
8-host-latest 200 182.00 96.73 50.15

Cluster 2 — 3 nodes, 8 cores, 32 GB memory

Doubling cores and memory roughly doubles QPS for most query types. The 1-host-1-hr query reaches 3,584 QPS at 200 workers; 8-host-latest reaches 472 QPS. Memory usage drops significantly compared to Cluster 1, reflecting the larger memory headroom.

queryType worker qps max_cpu max_mem
1-host-1-hr 16 2,426.56 79.45 31.83
1-host-1-hr 50 3,363.50 71.58 33.50
1-host-1-hr 100 3,530.00 73.80 35.44
1-host-1-hr 200 3,584.00 70.12 35.43
1-host-1-hr-raw 16 2,181.92 52.67 36.10
1-host-1-hr-raw 50 3,231.50 69.77 36.20
1-host-1-hr-raw 100 3,371.00 72.88 36.19
1-host-1-hr-raw 200 3,348.00 69.80 35.08
1-host-12-hr 16 877.44 59.57 35.66
1-host-12-hr 50 1,132.50 82.37 35.51
1-host-12-hr 100 1,145.00 84.10 35.55
1-host-12-hr 200 1,152.00 84.69 35.62
1-host-12-hr-raw 16 445.44 58.55 35.29
1-host-12-hr-raw 50 641.00 84.98 35.31
1-host-12-hr-raw 100 668.00 90.79 35.35
1-host-12-hr-raw 200 670.00 91.98 35.42
1-host-latest 16 1,785.44 51.20 35.80
1-host-latest 50 2,273.50 64.86 35.92
1-host-latest 100 2,280.00 64.97 35.82
1-host-latest 200 2,284.00 65.01 35.85
8-host-latest 16 439.04 85.04 35.98
8-host-latest 50 471.50 91.71 36.00
8-host-latest 100 472.00 92.42 36.08
8-host-latest 200 470.00 93.10 36.09

Cluster 3 — 3 nodes, 16 cores, 64 GB memory

QPS scales substantially with more cores. The 1-host-1-hr query reaches 8,902 QPS at 200 workers. Memory usage stays below 28%, indicating the dataset fits comfortably in memory. Higher concurrency continues to improve throughput for most query types.

queryType worker qps max_cpu max_mem
1-host-1-hr 16 3,287.84 49.77 25.83
1-host-1-hr 50 6,543.50 56.06 26.45
1-host-1-hr 100 7,713.00 59.81 26.48
1-host-1-hr 200 8,902.00 75.23 26.47
1-host-1-hr-raw 16 2,857.60 32.42 26.89
1-host-1-hr-raw 50 5,173.00 50.44 26.96
1-host-1-hr-raw 100 6,177.00 56.88 26.95
1-host-1-hr-raw 200 6,530.00 59.20 26.98
1-host-12-hr 16 1,148.48 38.69 26.52
1-host-12-hr 50 1,920.50 71.18 26.57
1-host-12-hr 100 2,181.00 82.79 26.62
1-host-12-hr 200 2,398.00 91.44 26.64
1-host-12-hr-raw 16 539.20 33.78 27.04
1-host-12-hr-raw 50 704.50 46.87 27.12
1-host-12-hr-raw 100 612.00 41.76 27.17
1-host-12-hr-raw 200 694.00 46.89 27.24
1-host-latest 16 2,141.60 40.24 26.69
1-host-latest 50 3,602.00 77.84 26.69
1-host-latest 100 4,098.00 91.87 26.72
1-host-latest 200 4,356.00 94.94 26.71
8-host-latest 16 541.28 81.87 26.77
8-host-latest 50 599.50 97.52 26.77
8-host-latest 100 648.00 97.85 26.88
8-host-latest 200 832.00 97.40 26.94

Cluster 4 — 3 nodes, 32 cores, 128 GB memory

The largest cluster delivers the highest throughput. The 1-host-1-hr query reaches 15,072 QPS at 200 workers — approximately 8x the throughput of Cluster 1 at the same concurrency. The 1-host-latest query reaches 9,634 QPS. CPU utilization remains low for single-host queries, leaving headroom for mixed workloads.

queryType worker qps max_cpu max_mem
1-host-1-hr 16 3,543.04 24.25 28.33
1-host-1-hr 50 9,351.00 34.14 28.89
1-host-1-hr 100 12,567.00 46.42 28.92
1-host-1-hr 200 15,072.00 57.27 28.94
1-host-1-hr-raw 16 2,811.20 15.41 29.11
1-host-1-hr-raw 50 6,086.50 27.85 29.13
1-host-1-hr-raw 100 7,881.00 36.44 29.14
1-host-1-hr-raw 200 8,762.00 40.97 29.17
1-host-12-hr 16 1,394.24 18.85 28.91
1-host-12-hr 50 3,317.50 49.89 28.96
1-host-12-hr 100 4,160.00 67.13 28.96
1-host-12-hr 200 4,808.00 79.02 28.96
1-host-12-hr-raw 16 542.56 17.31 29.22
1-host-12-hr-raw 50 826.50 24.96 29.24
1-host-12-hr-raw 100 669.00 23.55 29.28
1-host-12-hr-raw 200 772.00 24.86 29.32
1-host-latest 16 2,600.00 16.04 28.97
1-host-latest 50 6,590.00 46.11 28.98
1-host-latest 100 8,516.00 65.60 28.99
1-host-latest 200 9,634.00 75.93 28.98
8-host-latest 16 949.12 55.91 29.03
8-host-latest 50 1,525.50 83.49 29.04
8-host-latest 100 1,710.00 93.16 29.06
8-host-latest 200 1,758.00 95.54 29.09

Performance summary

Peak QPS (across all concurrency levels) for each cluster and query type. Higher worker counts do not always improve QPS — results plateau or vary depending on CPU saturation.

Query type Cluster 1 (4c/16G) Cluster 2 (8c/32G) Cluster 3 (16c/64G) Cluster 4 (32c/128G)
1-host-1-hr 1,887 3,584 8,902 15,072
1-host-1-hr-raw 1,752 3,371 6,530 8,762
1-host-12-hr 584 1,152 2,398 4,808
1-host-12-hr-raw 334 670 704.50 826.50
1-host-latest 1,164 2,284 4,356 9,634
8-host-latest 182 472 832 1,758