All Products
Search
Document Center

Database Autonomy Service:Performance Schema stress test report

Last Updated:Mar 30, 2026

This report quantifies the queries per second (QPS) impact of enabling and configuring Performance Schema on ApsaraDB RDS for MySQL and PolarDB for MySQL. Use the data to weigh monitoring capability against performance overhead before adjusting your Performance Schema settings.

Key findings at concurrency 32: Disabling Performance Schema entirely (pfsoff) gives the highest QPS. Enabling full monitoring (pfson_conon_inson) reduces QPS by up to ~23% on RDS and ~24% on PolarDB in write-only workloads. Enabling the DAS Performance Insight configuration (pfson_conon_ins_sqlon) adds 13–22% overhead while providing statement-level diagnostics.

Testing scenario

The following table describes the test environment.

Attribute Value
Databases ApsaraDB RDS for MySQL, PolarDB for MySQL
Test tool SysBench
Test tables 10
Concurrency levels 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1,024

Instance and cluster specifications

Database Edition Instance family Instance type CPU and memory Max connections Max IOPS
ApsaraDB RDS for MySQL High-availability Edition General-purpose mysql.n4.large.2c 4 cores, 16 GB 8,000 2,800
PolarDB for MySQL Cluster Edition Dedicated polar.mysql.x4.large 4 cores, 16 GB 8,000 48,000
SysBench is a modular, open-source, cross-platform, multi-threaded benchmark tool for evaluating database performance under heavy load. For more information, see the SysBench documentation.

Scenarios with different parameter settings

The following scenarios are defined by combinations of the performance_schema parameter and the consumers and instrumentation configuration items. Each scenario represents a different level of monitoring capability.

For information about how to modify the performance_schema parameter, see Modify the parameters of an ApsaraDB RDS for MySQL instance.
Scenario Performance Schema Consumers Instrumentation Monitoring capability
pfsoff Disabled None. Baseline performance.
pfson_conoff_insoff Enabled All OFF All OFF Minimal — Performance Schema is on but collects no data.
pfson_conon_insoff Enabled All ON All OFF Partial — consumer pipeline active, but no instrumentation points are tracked.
pfson_conon_ins_sqlon Enabled Selected ON (see below) Statement instrumentation ON Statement-level statistics. This is the configuration used by the new version of the DAS Performance Insight feature.
pfson_conoff_inson Enabled All OFF All ON Instrumentation active, but no consumers process the data.
pfson_conon_inson Enabled All ON All ON Full monitoring — all events and statistics collected. Highest overhead.

SQL commands for each scenario

pfson_conoff_insoff

-- Disable all consumers
UPDATE performance_schema.setup_consumers SET Enabled = 'NO';

-- Disable all instrumentation
UPDATE performance_schema.setup_instruments SET Enabled = 'NO', timed = 'NO';

pfson_conon_insoff

-- Enable all consumers
UPDATE performance_schema.setup_consumers SET Enabled = 'YES';

-- Disable all instrumentation
UPDATE performance_schema.setup_instruments SET Enabled = 'NO', timed = 'NO';

pfson_conon_ins_sqlon

-- Enable selected consumers: global_instrumentation, thread_instrumentation,
-- events_statements_current, events_statements_history, statements_digest
UPDATE performance_schema.setup_consumers
SET enabled = IF(name IN (
    'global_instrumentation',
    'thread_instrumentation',
    'events_statements_current',
    'events_statements_history',
    'statements_digest'
), 'YES', 'NO');

-- Enable statement instrumentation only
UPDATE performance_schema.setup_instruments
SET enabled = IF(name LIKE 'statement/%', 'YES', 'NO'),
    timed = enabled;

pfson_conoff_inson

-- Disable all consumers
UPDATE performance_schema.setup_consumers SET Enabled = 'NO';

-- Enable all instrumentation
UPDATE performance_schema.setup_instruments SET Enabled = 'YES', timed = 'YES';

pfson_conon_inson

-- Enable all consumers
UPDATE performance_schema.setup_consumers SET Enabled = 'YES';

-- Enable all instrumentation
UPDATE performance_schema.setup_instruments SET Enabled = 'YES', timed = 'YES';

Test results

Average QPS at concurrency level 32, measured after CPU utilization reaches 100%. The pfsoff scenario is the baseline (Performance Schema disabled). All other rows show QPS reduction relative to that baseline.

ApsaraDB RDS for MySQL

Scenario Read-only QPS vs. baseline Read/write QPS vs. baseline Write-only QPS vs. baseline
pfsoff 47,176 Baseline 37,999 Baseline 39,940 Baseline
pfson_conoff_insoff 41,111 −12.86% 33,170 −12.71% 32,327 −19.06%
pfson_conon_insoff 41,773 −11.45% 33,568 −11.66% 31,434 −21.30%
pfson_conon_ins_sqlon 39,889 −15.44% 33,056 −13.01% 31,865 −20.22%
pfson_conoff_inson 39,344 −16.61% 32,698 −13.95% 31,698 −20.64%
pfson_conon_inson 39,168 −16.97% 32,280 −15.05% 30,834 −22.81%

PolarDB for MySQL

Scenario Read-only QPS vs. baseline Read/write QPS vs. baseline Write-only QPS vs. baseline
pfsoff 36,768 Baseline 38,876 Baseline 39,550 Baseline
pfson_conoff_insoff 31,981 −13.02% 33,342 −14.24% 34,182 −13.57%
pfson_conon_insoff 31,187 −15.18% 32,980 −15.17% 31,768 −19.68%
pfson_conon_ins_sqlon 30,976 −15.75% 31,980 −17.77% 31,101 −21.36%
pfson_conoff_inson 31,025 −15.62% 32,855 −15.49% 31,750 −19.72%
pfson_conon_inson 29,652 −19.35% 30,656 −21.14% 30,014 −24.11%

Test data

Average QPS across all concurrency levels (1 to 1,024), measured after CPU utilization reaches 100%.

ApsaraDB RDS for MySQL

Read-only scenario

Read-only scenario

Table 1. Test data in the read-only scenario

Concurrency level pfsoff pfson_conoff_insoff pfson_conon_insoff pfson_conon_ins_sqlon pfson_conoff_inson pfson_conon_inson
1 3,456 (baseline) 3,209 (−7.16%) 3,233 (−6.45%) 3,179 (−8.02%) 3,249 (−5.98%) 3,116 (−9.84%)
2 9,432 (baseline) 8,668 (−8.10%) 8,701 (−7.75%) 8,588 (−8.95%) 8,854 (−6.13%) 8,313 (−11.86%)
4 16,485 (baseline) 14,965 (−9.22%) 15,123 (−8.26%) 14,926 (−9.46%) 14,942 (−9.36%) 14,053 (−14.75%)
8 25,614 (baseline) 23,024 (−10.11%) 23,286 (−9.09%) 22,781 (−11.06%) 23,017 (−10.14%) 21,659 (−15.44%)
16 39,846 (baseline) 35,869 (−9.98%) 35,483 (−10.95%) 34,162 (−13.14%) 34,288 (−13.95%) 33,387 (−16.21%)
32 47,176 (baseline) 41,111 (−12.86%) 41,773 (−11.45%) 39,889 (−15.44%) 39,344 (−16.61%) 39,168 (−16.97%)
64 49,230 (baseline) 42,186 (−14.31%) 42,776 (−13.11%) 41,791 (−15.11%) 41,747 (−15.20%) 38,877 (−21.03%)
128 48,201 (baseline) 41,458 (−13.99%) 41,280 (−14.36%) 40,797 (−15.36%) 40,990 (−14.96%) 36,532 (−24.21%)
256 46,982 (baseline) 40,090 (−14.67%) 39,869 (−15.14%) 39,556 (−15.81%) 40,414 (−13.98%) 34,602 (−26.35%)
512 47,026 (baseline) 41,279 (−15.22%) 40,353 (−14.19%) 39,488 (−16.03%) 39,337 (−16.35%) 34,023 (−27.65%)
1,024 47,533 (baseline) 40,104 (−15.63%) 40,032 (−15.78%) 39,509 (−16.88%) 39,462 (−16.98%) 33,696 (−29.11%)

Write-only scenario

Write-only scenario

Table 2. Test data in the write-only scenario

Concurrency level pfsoff pfson_conoff_insoff pfson_conon_insoff pfson_conon_ins_sqlon pfson_conoff_inson pfson_conon_inson
1 3,614 (baseline) 3,305 (−8.56%) 3,293 (−8.88%) 3,269 (−9.56%) 3,354 (−7.19%) 3,222 (−10.86%)
2 8,452 (baseline) 7,644 (−9.56%) 7,547 (−10.71%) 7,606 (−10.01%) 7,603 (−10.04%) 7,281 (−13.86%)
4 13,648 (baseline) 12,231 (−10.38%) 12,193 (−10.66%) 12,106 (−11.30%) 12,057 (−11.66%) 11,676 (−14.45%)
8 25,648 (baseline) 22,227 (−13.34%) 22,824 (−11.01%) 22,360 (−12.82%) 22,534 (−12.14%) 21,431 (−16.44%)
16 32,154 (baseline) 27,119 (−15.66%) 27,669 (−13.95%) 27,093 (−15.74%) 27,347 (−14.95%) 26,170 (−18.61%)
32 39,940 (baseline) 32,327 (−19.06%) 31,434 (−21.30%) 31,865 (−20.22%) 31,698 (−20.64%) 30,834 (−22.81%)
64 39,123 (baseline) 30,915 (−20.98%) 31,220 (−20.20%) 30,661 (−21.63%) 30,672 (−21.06%) 29,514 (−24.56%)
128 41,320 (baseline) 32,692 (−20.88%) 32,610 (−21.08%) 32,135 (−22.23%) 32,184 (−22.11%) 29,423 (−28.79%)
256 42,004 (baseline) 33,322 (−20.67%) 33,124 (−21.14%) 32,838 (−21.82%) 32,814 (−21.88%) 30,348 (−27.75%)
512 43,156 (baseline) 34,033 (−21.14%) 33,597 (−22.15%) 33,783 (−21.72%) 33,196 (−23.08%) 30,157 (−30.12%)
1,024 47,562 (baseline) 37,056 (−22.09%) 36,232 (−23.82%) 37,113 (−21.97%) 36,723 (−22.79%) 32,256 (−32.18%)

Read/write scenario

Read/write scenario

Table 3. Test data in the read/write scenario

Concurrency level pfsoff pfson_conoff_insoff pfson_conon_insoff pfson_conon_ins_sqlon pfson_conoff_inson pfson_conon_inson
1 2,997 (baseline) 2,754 (−8.1%) 2,844 (−5.12%) 2,758 (−7.98%) 2,741 (−8.55%) 2,672 (−10.86%)
2 8,135 (baseline) 7,304 (−10.22%) 7,610 (−6.45%) 7,420 (−8.79%) 7,498 (−7.83%) 7,226 (−11.17%)
4 14,568 (baseline) 13,031 (−10.55%) 13,427 (−7.83%) 13,178 (−9.54%) 13,164 (−9.64%) 12,754 (−12.45%)
8 24,658 (baseline) 21,933 (−11.05%) 22,663 (−8.09%) 21,854 (−11.37%) 22,130 (−10.25%) 21,250 (−13.82%)
16 31,562 (baseline) 28,119 (−10.91%) 28,443 (−9.88%) 27,629 (−12.46%) 27,936 (−11.49%) 26,957 (−14.61%)
32 37,999 (baseline) 33,170 (−12.71%) 33,568 (−11.66%) 33,056 (−13.01%) 32,698 (−13.95%) 32,280 (−15.05%)
64 39,120 (baseline) 33,311 (−14.85%) 33,948 (−13.22%) 33,068 (−15.47%) 33,659 (−13.96%) 31,605 (−19.21%)
128 41,687 (baseline) 35,742 (−14.26%) 35,334 (−15.24%) 35,451 (−14.96%) 35,488 (−14.87%) 32,899 (−21.08%)
256 42,654 (baseline) 36,243 (−15.03%) 33,570 (−16.14%) 36,115 (−15.33%) 35,949 (−15.72%) 33,133 (−22.32%)
512 43,156 (baseline) 36,626 (−15.13%) 36,087 (−16.38%) 36,302 (−15.88%) 36,286 (−15.92%) 32,518 (−24.65%)
1,024 43,658 (baseline) 36,699 (−15.94%) 36,625 (−16.11%) 36,585 (−16.20%) 36,756 (−15.81%) 32,359 (−25.88%)

PolarDB for MySQL

Read-only scenario

Read-only scenario

Table 4. Test data in the read-only scenario

Concurrency level pfsoff pfson_conoff_insoff pfson_conon_insoff pfson_conon_ins_sqlon pfson_conoff_inson pfson_conon_inson
1 3,389 (baseline) 3,296 (−2.74%) 3,233 (−4.62%) 3,179 (−2.56%) 3,249 (−4.13%) 3,016 (−11.04%)
2 8,868 (baseline) 8,632 (−3.08%) 8,601 (−3.78%) 8,588 (−3.16%) 8,654 (−2.84%) 8,213 (−7.39%)
4 16,965 (baseline) 14,485 (−14.62%) 15,123 (−10.86%) 14,926 (−12.02%) 14,942 (−11.92%) 13,053 (−23.06%)
8 25,024 (baseline) 22,614 (−9.63%) 23,286 (−9.01%) 22,781 (−8.96%) 23,017 (−8.14%) 21,659 (−14.45%)
16 38,869 (baseline) 35,846 (−9.88%) 35,483 (−8.95%) 34,162 (−12.11%) 34,288 (−11.79%) 32,387 (−16.68%)
32 36,768 (baseline) 31,981 (−13.02%) 31,187 (−15.18%) 30,976 (−15.75%) 31,025 (−15.62%) 29,652 (−19.35%)
64 49,186 (baseline) 42,230 (−14.14%) 42,776 (−13.07%) 41,791 (−15.03%) 41,747 (−15.12%) 39,877 (−18.93%)
128 42,958 (baseline) 39,201 (−11.88%) 40,280 (−9.08%) 39,797 (−10.43%) 39,990 (−10.11%) 37,532 (−12.63%)
256 45,090 (baseline) 41,026 (−9.01%) 39,869 (−11.58%) 39,556 (−12.27%) 40,414 (−10.37%) 35,602 (−21.04%)
512 46,279 (baseline) 41,004 (−11.14%) 40,353 (−12.81%) 39,488 (−14.67%) 39,337 (−15.02%) 34,023 (−26.48%)
1,024 47,231 (baseline) 41,533 (−12.06%) 40,032 (−15.24%) 39,509 (−16.35%) 39,462 (−16.45%) 33,696 (−28.66%)

Write-only scenario

Write-only scenario

Table 5. Test data in the write-only scenario

Concurrency level pfsoff pfson_conoff_insoff pfson_conon_insoff pfson_conon_ins_sqlon pfson_conoff_inson pfson_conon_inson
1 3,505 (baseline) 3,364 (−4.07%) 3,354 (−5.41%) 3,269 (−6.73%) 3,293 (−6.05%) 3,122 (−10.93%)
2 7,844 (baseline) 7,452 (−4.56%) 7,603 (−4.22%) 7,606 (−5.09%) 7,547 (−3.44%) 7,281 (−7.18%)
4 13,231 (baseline) 12,648 (−4.38%) 12,057 (−8.87%) 12,106 (−8.30%) 12,193 (−7.85%) 10,676 (−19.31%)
8 25,227 (baseline) 22,648 (−10.22%) 22,534 (−10.68%) 22,360 (−11.36%) 22,824 (−9.53%) 20,431 (−19.01%)
16 27,119 (baseline) 26,154 (−13.66%) 26,347 (−11.95%) 25,093 (−14.74%) 26,669 (−12.95%) 22,170 (−18.25%)
32 39,550 (baseline) 34,182 (−13.57%) 31,768 (−19.68%) 31,101 (−21.36%) 31,750 (−19.72%) 30,014 (−24.11%)
64 37,915 (baseline) 31,223 (−17.65%) 30,672 (−19.13%) 30,661 (−19.12%) 31,220 (−17.66%) 29,514 (−22.16%)
128 34,692 (baseline) 31,320 (−16.88%) 31,884 (−12.08%) 32,135 (−10.76%) 31,910 (−14.11%) 29,423 (−15.22%)
256 33,390 (baseline) 31,704 (−7.67%) 31,814 (−7.14%) 32,018 (−5.41%) 31,124 (−9.88%) 29,348 (−12.11%)
512 34,033 (baseline) 31,156 (−8.45%) 31,196 (−8.34%) 31,783 (−6.61%) 31,597 (−7.16%) 30,157 (−11.39%)
1,024 36,855 (baseline) 33,862 (−8.12%) 33,723 (−8.52%) 33,613 (−8.81%) 33,232 (−9.83%) 32,956 (−10.58%)

Read/write scenario

Read/write scenario

Table 6. Test data in the read/write scenario

Concurrency level pfsoff pfson_conoff_insoff pfson_conon_insoff pfson_conon_ins_sqlon pfson_conoff_inson pfson_conon_inson
1 3,305 (baseline) 2,754 (−16.67%) 2,843 (−13.98%) 2,758 (−16.55%) 2,741 (−17.07%) 2,614 (−20.91%)
2 8,668 (baseline) 7,304 (−15.74%) 7,610 (−12.21%) 7,420 (−14.42%) 7,498 (−13.52%) 7,182 (−17.14%)
4 14,965 (baseline) 13,031 (−12.92%) 13,427 (−10.28%) 13,178 (−11.94%) 13,164 (−12.03%) 12,754 (−14.77%)
8 23,068 (baseline) 21,933 (−9.94%) 21,663 (−6.09%) 21,354 (−8.68%) 21,130 (−8.41%) 20,250 (−12.22%)
16 35,869 (baseline) 28,119 (−14.96%) 28,443 (−17.71%) 28,629 (−16.74%) 27,936 (−16.95%) 26,957 (−24.85%)
32 38,876 (baseline) 33,342 (−14.24%) 32,980 (−15.17%) 31,980 (−17.74%) 32,855 (−15.49%) 30,656 (−21.14%)
64 42,186 (baseline) 33,311 (−20.86%) 33,948 (−19.53%) 33,068 (−21.61%) 33,659 (−20.21%) 31,305 (−25.79%)
128 40,359 (baseline) 35,742 (−11.44%) 35,334 (−12.45%) 35,451 (−12.16%) 35,488 (−12.07%) 32,899 (−18.48%)
256 40,090 (baseline) 36,243 (−9.67%) 33,570 (−16.26%) 36,115 (−9.92%) 35,949 (−10.33%) 33,125 (−17.37%)
512 41,220 (baseline) 36,626 (−11.15%) 36,087 (−12.45%) 36,302 (−11.93%) 36,286 (−11.98%) 32,451 (−20.27%)
1,024 40,055 (baseline) 36,699 (−8.38%) 36,625 (−8.56%) 36,585 (−8.66%) 36,756 (−8.24%) 32,860 (−17.96%)