Logo
业务性能测试

插件功能性能测试 #

提供通用方法,由用户侧测试。

数据分片 #

数据分片测试场景。

测试目的 #

通过 DBPlusEngine-Proxy 的分片规则将数据路由分发到对应的数据库和表中。使用 sysbench 工具执行读写场景压测,从而获取分片功能的性能指标。

测试工具 #

Sysbench

测试环境 #

应用IP地址端口版本
DBPlusEngine-Proxy192.168.xx.2533071.2
MySQL192.168.xx.20133068.0.29
MySQL192.168.xx.21133068.0.29
MySQL192.168.xx.22133068.0.29
MySQL192.168.xx.23133068.0.29

服务器配置

条目配置
CPU48 C
内存96 G
硬盘SSD 820 G
JDK17.0.2

测试步骤 #

  1. 创建测试库。
mysql -utest -h192.168.xx.20 -P13306 -p
DROP DATABASE IF EXISTS sbtest;

CREATE DATABASE IF NOT EXISTS sbtest;
mysql -utest -h192.168.xx.21 -P13306 -p
DROP DATABASE IF EXISTS sbtest;

CREATE DATABASE IF NOT EXISTS sbtest;
mysql -utest -h192.168.xx.22 -P13306 -p
DROP DATABASE IF EXISTS sbtest;

CREATE DATABASE IF NOT EXISTS sbtest;
mysql -utest -h192.168.xx.23 -P13306 -p
DROP DATABASE IF EXISTS sbtest;

CREATE DATABASE IF NOT EXISTS sbtest;

创建逻辑库。

mysql -uroot -h192.168.xx.25 -P3307 -proot
DROP DATABASE IF EXISTS sharding_db;

CREATE DATABASE IF NOT EXISTS sharding_db;

通过 DistSQL 关联数据源。

REGISTER STORAGE UNIT ds_0 (
    HOST="192.168.xx.20",
    PORT=13306,
    DB="sbtest",
    USER="test",
    PASSWORD="test"
), ds_1 (
    HOST="192.168.xx.21",
    PORT=13306,
    DB="sbtest",
    USER="test",
    PASSWORD="test"
) , ds_2 (
    HOST="192.168.xx.22",
    PORT=13306,
    DB="sbtest",
    USER="test",
    PASSWORD="test"
) , ds_3 (
    HOST="192.168.xx.23",
    PORT=13306,
    DB="sbtest",
    USER="test",
    PASSWORD="test"
);

通过 DistSQL 创建分片规则。

CREATE SHARDING TABLE RULE t_user (
STORAGE_UNITS(ds_0, ds_1, ds_2, ds_3),
SHARDING_COLUMN=id,TYPE(NAME="MOD",PROPERTIES("sharding-count"=10))
);
  1. 安装测试工具。
tar -xzvf sysbench-1.0.20.tar.gz -C /usr/local
cd /usr/local/sysbench-1.0.20
./autogen.sh
./configure
make && make install
  1. 数据准备。
sysbench oltp_read_write --mysql-host='192.168.xx.25' --mysql-port=3307 --mysql-user=root --mysql-password='root' --mysql-db=sharding_db --tables=1 --table-size=140000000 --report-interval=5  --time=600 --threads=128 --max-requests=0 --percentile=99  --mysql-ignore-errors="all" --range_selects=off --rand-type=uniform --auto_inc=off cleanup

sysbench oltp_read_write --mysql-host='192.168.xx.25' --mysql-port=3307 --mysql-user=root --mysql-password='root' --mysql-db=sharding_db --tables=1 --table-size=140000000 --report-interval=5  --time=600 --threads=128 --max-requests=0 --percentile=99  --mysql-ignore-errors="all" --range_selects=off --rand-type=uniform --auto_inc=off prepare        
  1. 压测阶段。
  • 读写测试
sysbench oltp_read_write --mysql-host='192.168.xx.25' --mysql-port=3307 --mysql-user=root --mysql-password='root' --mysql-db=sharding_db --tables=1 --table-size=140000000 --report-interval=5  --time=180 --threads=200 --max-requests=0   --mysql-ignore-errors="all" --range_selects=off --rand-type=uniform --auto_inc=off run

测试结果 #

应用ThreadsTPSLatency99%(ms)
DBPlusEngine-Proxy25610,71043.39
MySQL2561,827475.79

结论:在 sharding 场景下,计算节点扩容,吞吐量可近线性提升。

该结论仅供参考,用户可以根据实际业务情况,实际场景进行测试。

监控信息 #

Sysbench ——> Proxy ——> MySQL(4) #

  • Proxy

  • MySQL(1)

  • MySQL(2)

  • MySQL(3)

  • MySQL(4)

Sysbench ——> MySQL #

  • MySQL

读写分离 #

读写分离测试场景。

测试目的 #

DBPlusEngine-Proxy 根据读写分离规则,将读请求和写请求分别路由至主库与从库。使用 sysbench 工具执行读写场景压测,获取读写分离功能的性能指标。

测试工具 #

Sysbench

测试环境 #

应用IP地址端口版本
DBPlusEngine-Proxy192.168.xx.2533071.2
MySQL192.168.xx.20133088.0.29
MySQL192.168.xx.20133098.0.29

服务器配置

条目配置
CPU48 C
内存96 G
硬盘SSD 820 G
JDK17.0.2

测试步骤 #

  1. 创建测试库。
#主库
mysql -utest -h192.168.xx.20 -P13308 -p
CREATE DATABASE IF NOT EXISTS test;

创建逻辑库。

mysql -uroot -h192.168.xx.25 -P3307 -proot
DROP DATABASE IF EXISTS sphereex_demo;

CREATE DATABASE IF NOT EXISTS sphereex_demo;

通过 DistSQL 关联数据源。

use sphereex_demo;

REGISTER STORAGE UNIT write_ds (
    HOST="192.168.xx.20",
    PORT=13308,
    DB="test",
    USER="test",
    PASSWORD="test"
), read_ds (
    HOST="192.168.xx.20",
    PORT=13309,
    DB="test",
    USER="test",
    PASSWORD="test"
);

通过 DistSQL 创建读写分离规则。

CREATE READWRITE_SPLITTING RULE readwrite_ds (
WRITE_STORAGE_UNIT=write_ds,
READ_STORAGE_UNITS(read_ds),
TYPE(NAME="FIXED_REPLICA_RANDOM")
);
  1. 安装测试工具。
tar -xzvf sysbench-1.0.20.tar.gz -C /usr/local
cd /usr/local/sysbench-1.0.20
./autogen.sh
./configure
make && make install                      
  1. 数据准备。
sysbench oltp_point_select --mysql-host='192.168.xx.25' --mysql-port=3307 --mysql-user=test --mysql-password='test' --mysql-db=sphereex_demo --tables=10 --table-size=1000000 --report-interval=10 --time=3600 --threads=256 --max-requests=0 --percentile=99 --mysql-ignore-errors="all" --rand-type=uniform --range_selects=off --auto_inc=off cleanup

sysbench oltp_point_select --mysql-host='192.168.xx.25' --mysql-port=3307 --mysql-user=test --mysql-password='test' --mysql-db=sphereex_demo --tables=1 --table-size=1000000 --report-interval=10 --time=3600 --threads=256 --max-requests=0 --percentile=99 --mysql-ignore-errors="all" --rand-type=uniform --range_selects=off --auto_inc=off prepare              
  1. 压测阶段。
  • 读写测试
sysbench oltp_read_write --mysql-host='192.168.xx.25' --mysql-port=3307 --mysql-user=root --mysql-password='root' --mysql-db=sphereex_demo --tables=1 --table-size=1000000 --report-interval=5  --time=120 --threads=200 --max-requests=0   --mysql-ignore-errors="all" --range_selects=off --rand-type=uniform --auto_inc=off run

sysbench oltp_read_write --mysql-host='192.168.xx.20' --mysql-port=13308 --mysql-user=root --mysql-password='root' --mysql-db=test --tables=1 --table-size=1000000 --report-interval=5  --time=120 --threads=200 --max-requests=0   --mysql-ignore-errors="all" --range_selects=off --rand-type=uniform --auto_inc=off run     

测试结果 #

# sysbench ——> Proxy ——> MySQL
SQL statistics:
    queries performed:
        read:                            4185530
        write:                           1674212
        other:                           837106
        total:                           6696848
    transactions:                        418553 (3485.96 per sec.)
    queries:                             6696848 (55775.38 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          120.0640s
    total number of events:              418553

Latency (ms):
         min:                                    7.61
         avg:                                   57.35
         max:                                 1035.85
         95th percentile:                      164.45
         sum:                             24005109.36

Threads fairness:
    events (avg/stddev):           2092.7650/22.11
    execution time (avg/stddev):   120.0255/0.01

# sysbench ——> MySQL
SQL statistics:
    queries performed:
        read:                            2398650
        write:                           959460
        other:                           479730
        total:                           3837840
    transactions:                        239865 (1995.35 per sec.)
    queries:                             3837840 (31925.58 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          120.2079s
    total number of events:              239865

Latency (ms):
         min:                                    2.93
         avg:                                  100.16
         max:                                 1735.34
         95th percentile:                      282.25
         sum:                             24023941.63

Threads fairness:
    events (avg/stddev):           1199.3250/13.23
    execution time (avg/stddev):   120.1197/0.08
应用TPSQPSLatency95%(ms)
DBPlusEngine-Proxy3,48555,775164.45
MySQL1,99531,925282.25

结论:在读写分离场景下性能及吞吐量得到显著提升。

该结论仅供参考,用户可以根据实际业务情况,实际场景进行测试。

监控信息 #

sysbench ——> MySQL #

PRIMARY

SECONDARY

sysbench ——> Proxy ——> MySQL #

PRIMARY

SECONDARY

数据加密 #

数据加密测试场景。

测试目的 #

通过 DBPlusEngine-Proxy 根据加密规则向数据库插入数据。使用 sysbench 工具执行读写场景压测,从而获得加密功能的性能指标。

测试工具 #

Sysbench

测试环境 #

应用IP地址端口版本
DBPlusEngine-Proxy192.168.xx.2533071.2
MySQL192.168.xx.20133068.0.29

服务器配置

条目配置
CPU48 C
内存96 G
硬盘SSD 820 G
JDK17.0.2

测试步骤 #

  1. 创建测试库
mysql -utest -h192.168.xx.20 -P13306 -p
DROP DATABASE IF EXISTS encrypt_db;

CREATE DATABASE IF NOT EXISTS encrypt_db;

创建逻辑库。

mysql -uroot -h192.168.xx.25 -P3307 -proot
DROP DATABASE IF EXISTS sphereex_demo;

CREATE DATABASE IF NOT EXISTS sphereex_demo;

通过 DistSQL 关联数据源。

USE sphereex_demo;

REGISTER STORAGE UNIT sphereex_demo(
    HOST="192.168.xx.20",
    PORT=13306,
    DB="encrypt_db",
    USER="test",
    PASSWORD="test"
    );

通过 DistSQL 创建加密规则。

CREATE ENCRYPT RULE t_user (
COLUMNS(
(NAME=idCard,CIPHER=idcard_cipher,TYPE(NAME="AES",PROPERTIES("aes-key-value"="123456abc"))), 
(NAME=mobile, CIPHER =mobile_cipher,TYPE(NAME="AES",PROPERTIES("aes-key-value"="123456abc")))));
  1. 安装测试工具
tar -xzvf sysbench-1.0.20.tar.gz -C /usr/local
cd /usr/local/sysbench-1.0.20
./autogen.sh
./configure
make && make install
  1. 数据准备
sysbench oltp_read_only --mysql-host='192.168.xx.25' --mysql-port=3307 --mysql-user=root --mysql-password='root' --mysql-db=sphereex_demo --tables=10 --table-size=1000000 --report-interval=10 --time=3600 --threads=128 --max-requests=0 --percentile=99 --mysql-ignore-errors="all" --rand-type=uniform --range_selects=off --auto_inc=off cleanup

sysbench oltp_read_only --mysql-host='192.168.xx.25' --mysql-port=3307 --mysql-user=root --mysql-password='root' --mysql-db=sphereex_demo --tables=10 --table-size=1000000 --report-interval=10 --time=3600 --threads=128 --max-requests=0 --percentile=99 --mysql-ignore-errors="all" --rand-type=uniform --range_selects=off --auto_inc=off prepare
  1. 压测阶段

读写测试

sysbench oltp_read_write --mysql-host='192.168.xx.25' --mysql-port=3307 --mysql-user=root --mysql-password='root' --mysql-db=sphereex_demo --tables=1 --table-size=1000000 --report-interval=5  --time=180 --threads=200 --max-requests=0  --mysql-ignore-errors="all" --range_selects=off --rand-type=uniform --auto_inc=off run

测试结果 #

应用TPSQPS
DBPlusEngine-Proxy(AES)11,916190,654
DBPlusEngine-Proxy(MD5)12,924206,779
DBPlusEngine-Proxy(SM4)10,941175,058
DBPlusEngine-Proxy(SM3)13,033208,894
DBPlusEngine-Proxy(RC4)10,655170,479
MySQL24,766396,254

结论:在数据加密场景下,吞吐量均有较大衰减,不同加密算法间略有差异。

该结论仅供参考,用户可以根据实际业务情况,实际场景进行测试。

监控信息 #

DBPlusEngine-Proxy(AES)

  • Proxy

  • MySQL

DB Plus Engine-Proxy(MD5)

  • Proxy

  • MySQL

DB Plus Engine-Proxy(SM4)

  • Proxy

  • MySQL

DB Plus Engine-Proxy(SM3)

  • Proxy

  • MySQL

DB Plus Engine-Proxy(RC4)

  • Proxy

  • MySQL

MySQL

影子库 #

影子库测试场景。

测试目的 #

分别对生产库和影子库创建数据,然后通过值匹配算法,根据路由规则分别对生产库和影子库进行请求,使用 sysbench 压测工具进行点查操作,获得影子库的具体性能指标。

测试工具 #

Sysbench

测试环境 #

应用IP地址端口版本
DBPlusEngine-Proxy192.168.xx.2533071.2
MySQL192.168.xx.20133068.0.29
MySQL192.168.xx.21133068.0.29

服务器配置

条目配置
CPU48 C
内存96 G
硬盘SSD 820 G
JDK17.0.2

测试步骤 #

  1. 创建测试库

创建生产库和影子库。

mysql -utest -h192.168.xx.20 -P13306 -p
DROP DATABASE IF EXISTS prod_ds;

CREATE DATABASE IF NOT EXISTS prod_ds;
mysql -utest -h192.168.xx.21 -P13306 -p
DROP DATABASE IF EXISTS shadow_ds;

CREATE DATABASE IF NOT EXISTS shadow_ds;

创建逻辑库。

mysql -uroot -h192.168.xx.25 -P3307 -proot
DROP DATABASE IF EXISTS sphereex_demo;

CREATE DATABASE IF NOT EXISTS sphereex_demo;

通过 DistSQL 关联数据源。

USE sphereex_demo;

REGISTER STORAGE UNIT ds (
    HOST="192.168.xx.20",
    PORT=13306,
    DB="prod_ds",
    USER="test",
    PASSWORD="test"
),ds_shadow (
    HOST="192.168.xx.21",
    PORT=13306,
    DB="shadow_ds",
    USER="test",
    PASSWORD="test"
);

通过 DistSQL 创建影子库规则。

CREATE SHADOW RULE shadowDataSource(
SOURCE=ds,
SHADOW=ds_shadow,
t_user(
TYPE(NAME="VALUE_MATCH", PROPERTIES("operation"="insert","column"="status", "value"=1)),
TYPE(NAME="SIMPLE_HINT", PROPERTIES("shadow"=true)))
);
  1. 安装测试工具
tar -xzvf sysbench-1.0.20.tar.gz -C /usr/local
cd /usr/local/sysbench-1.0.20
./autogen.sh
./configure
make && make install

对 Sysbench 的 oltp_common.lua 脚本改造,支持 Shadow 的 hint 算法。

local stmt_defs = {
   point_selects = {
      "SELECT c FROM sbtest%u WHERE id=? /*shadow:true*/",
      t.INT},
   simple_ranges = {
      "SELECT c FROM sbtest%u WHERE id BETWEEN ? AND ?",
      t.INT, t.INT},
   sum_ranges = {
      "SELECT SUM(k) FROM sbtest%u WHERE id BETWEEN ? AND ?",
       t.INT, t.INT},
   order_ranges = {
      "SELECT c FROM sbtest%u WHERE id BETWEEN ? AND ? ORDER BY c",
       t.INT, t.INT},
   distinct_ranges = {
      "SELECT DISTINCT c FROM sbtest%u WHERE id BETWEEN ? AND ? ORDER BY c",
      t.INT, t.INT},
   index_updates = {
      "UPDATE sbtest%u SET k=k+1 WHERE id=? /*shadow:true*/",
      t.INT},
   non_index_updates = {
      "UPDATE sbtest%u SET c=? WHERE id=? /*shadow:true*/",
      {t.CHAR, 120}, t.INT},
   deletes = {
      "DELETE FROM sbtest%u WHERE id=? /*shadow:true*/",
      t.INT},
   inserts = {
      "INSERT INTO sbtest%u (id, k, c, pad) VALUES (?, ?, ?, ?)/*shadow:true*/",
      t.INT, t.INT, {t.CHAR, 120}, {t.CHAR, 60}},
}
  1. 数据准备
sysbench oltp_read_only --mysql-host='192.168.xx.20' --mysql-port=13306 --mysql-user=test --mysql-password='test' --mysql-db=prod_ds --tables=10 --table-size=1000000 --report-interval=10 --time=3600 --threads=128 --max-requests=0 --percentile=99 --mysql-ignore-errors="all" --rand-type=uniform --range_selects=off --auto_inc=off cleanup

sysbench oltp_read_only --mysql-host='192.168.xx.20' --mysql-port=13306 --mysql-user=test --mysql-password='test' --mysql-db=prod_ds --tables=10 --table-size=1000000 --report-interval=10 --time=3600 --threads=128 --max-requests=0 --percentile=99 --mysql-ignore-errors="all" --rand-type=uniform --range_selects=off --auto_inc=off prepare

sysbench oltp_read_only --mysql-host='192.168.xx.21' --mysql-port=13306 --mysql-user=test --mysql-password='test' --mysql-db=shadow_ds --tables=10 --table-size=1000000 --report-interval=10 --time=3600 --threads=128 --max-requests=0 --percentile=99 --mysql-ignore-errors="all" --rand-type=uniform --range_selects=off --auto_inc=off cleanup

sysbench oltp_read_only --mysql-host='192.168.xx.21' --mysql-port=13306 --mysql-user=test --mysql-password='test' --mysql-db=shadow_ds --tables=10 --table-size=1000000 --report-interval=10 --time=3600 --threads=128 --max-requests=0 --percentile=99 --mysql-ignore-errors="all" --rand-type=uniform --range_selects=off --auto_inc=off prepare
  1. 压测阶段
  • 只读测试。
sysbench oltp_point_select --mysql-host='192.168.xx.25' --mysql-port=3307 --mysql-user=root --mysql-password='root' --mysql-db=sphereex_demo --tables=10 --table-size=1000000 --report-interval=5  --time=600 --threads=128 --max-requests=0 --percentile=99  --mysql-ignore-errors="all" --range_selects=off --rand-type=uniform --auto_inc=off run

测试结果 #

应用TPSQPS
DB Plus Engine-Proxy (No Rules)13,844221,509
DB Plus Engine-Proxy(shadow)12,932206,918
DB Plus Engine-Proxy(pro)13,099209,586

结论:在影子库场景下,流量路由至生产库 & 影子库性能差异不大,吞吐量无明显下降。

该结论仅供参考,用户可以根据实际业务情况,实际场景进行测试。

监控信息 #

DBPlusEngine-Proxy(No Rules)

DB Plus Engine-Proxy(shadow / pro)

探针 #

探针测试场景。

测试目的 #

DBPlusEngine-Proxy 通过 plugin 结合 Prometheus/Zipkin/General log & Slow log 开启后性能损耗 或其他组件获取可观测性,使用 sysbench 压测工具进行读写操作,获取 plugin 在开启各项功能后,DBPlusEngine-Proxy 的性能情况。

测试工具 #

Sysbench

测试环境 #

应用IP地址端口版本
DBPlusEngine-Proxy192.168.xx.2533071.2
DBPlusEngine-Plugin192.168.xx.25-1.2
MySQL192.168.xx.20133068.0.29
Prometheus---
Zipkin---
General log & Slow log---

服务器配置

条目配置
CPU48 C
内存96 G
硬盘SSD_SATA3 820 G
JDK17.0.2

配置 agent.yaml,开启相关监控

# Copyright © 2022,Beijing Sifei Software Technology Co., LTD.
# All Rights Reserved.
# Unauthorized copying of this file, via any medium is strictly prohibited.
# Proprietary and confidential

plugins:
  logging:
    BaseLogging:
      props:
        slow-query-log: true
        long-query-time: 5000
        general-query-log: true
#  metrics:
#    Prometheus:
#      host: "0.0.0.0"
#      port: 9090
#      props:
#        jvm-information-collector-enabled: "true"
#  tracing:
#    Jaeger:
#      host: "localhost"
#      port: 5775
#      props:
#        service-name: "shardingsphere"
#        jaeger-sampler-type: "const"
#        jaeger-sampler-param: "1"
#    Zipkin:
#      host: "localhost"
#      port: 9411
#      props:
#        service-name: "shardingsphere"
#        url-version: "/api/v2/spans"
#        sampler-type: "const"
#        sampler-param: "1"
#    SkyWalking:
#      props:
#        opentracing-tracer-class-name: "org.apache.skywalking.apm.toolkit.opentracing.SkywalkingTracer"
#    OpenTelemetry:
#      props:
#        otel-resource-attributes: "service.name=shardingsphere"
#        otel-traces-exporter: "zipkin"

使用 start-with-agent.sh 脚本启动 DBPlusEngine-Proxy。

测试步骤 #

  1. 创建测试库
mysql -utest -h192.168.xx.20 -P13306 -p
DROP DATABASE IF EXISTS agent_ds;

CREATE DATABASE IF NOT EXISTS agent_ds;

创建逻辑库。

mysql -uroot -h192.168.xx.25 -P3307 -proot
DROP DATABASE IF EXISTS sphereex_demo;

CREATE DATABASE IF NOT EXISTS sphereex_demo;

通过 DistSQL 关联数据源。

USE sphereex_demo;

REGISTER STORAGE UNIT ds_0 (
    HOST="192.168.xx.20",
    PORT=13306,
    DB="agent_ds",
    USER="test",
    PASSWORD="test"
);
  1. 安装测试工具
tar -xzvf sysbench-1.0.20.tar.gz -C /usr/local
cd /usr/local/sysbench-1.0.20
./autogen.sh
./configure
make && make install
  1. 数据准备
sysbench oltp_read_only --mysql-host='192.168.xx.25' --mysql-port=3307 --mysql-user=root --mysql-password='root' --mysql-db=sphereex_demo --tables=10 --table-size=1000000 --report-interval=10 --time=3600 --threads=128 --max-requests=0 --percentile=99 --mysql-ignore-errors="all" --rand-type=uniform --range_selects=off --auto_inc=off cleanup

sysbench oltp_read_only --mysql-host='192.168.xx.25' --mysql-port=3307 --mysql-user=root --mysql-password='root' --mysql-db=sphereex_demo --tables=10 --table-size=1000000 --report-interval=10 --time=3600 --threads=128 --max-requests=0 --percentile=99 --mysql-ignore-errors="all" --rand-type=uniform --range_selects=off --auto_inc=off prepare
  1. 压测阶段
  • 只读测试。
sysbench oltp_read_write --mysql-host='192.168.xx.25' --mysql-port=3307 --mysql-user=root --mysql-password='root' --mysql-db=sphereex_demo --tables=1 --table-size=1000000 --report-interval=5  --time=180 --threads=200 --max-requests=0   --mysql-ignore-errors="all" --range_selects=off --rand-type=uniform --auto_inc=off run

测试结果 #

应用TPSQPS
DBPlusEngine-Proxy without Plugin13,788220,611
DBPlusEngine-Proxy with Prometheus12,934206,943
DBPlusEngine-Proxy with Prometheus & Zipkin(1)6,930110,883
DBPlusEngine-Proxy with Prometheus & Zipkin(0.5)7,326117,217
DBPlusEngine-Proxy with Prometheus & Zipkin(0.1)7,632122,115
Agent 开 general log (不写日志)12,707203,315
Agent 开 general log4,63674,169

结论:在 通过探针增强可观测性 场景下,开启监控指标收集,性能略有下降。开启性能跟踪,性能衰减明显,随采样率不同稍有差异。用户可根据自身情况,选取合适的采样率及获取目标性能。

该结论仅供参考,用户可以根据实际业务情况,实际场景进行测试。

监控信息 #

DBPlusEngine-Proxy without Plugin

DBPlusEngine-Proxy with Prometheus

DBPlusEngine-Proxy with Prometheus & Zipkin(1)

DBPlusEngine-Proxy with Prometheus & Zipkin(0.5)

DBPlusEngine-Proxy with Prometheus & Zipkin(0.1)

Agent 开 general log (不写日志)

Agent 开 general log