达梦-华为鲲鹏ARM架构下性能测试最佳实践

embedded/2024/11/14 6:39:16/
  • 一、测试综述

  • 1.1 测试目的

1.2 通用指标

指标名称

指标说明

TPS(Transactions per Second)

每秒处理事务数

QPS(Query per Second)

每秒查询数

Latency

时延(最小值、平均值、最大值)

P95

95%SQL语句执行平均时长

1.3 环境配置

系统

Uos_20

cpu

128c_kenpeng920

mem

381

DM8

8.1.2.199

1.4 优化模型

  • ./dminit PATH=/data/dmdata PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048 CHARSET=1 CASE_SENSITIVE=1 BLANK_PAD_MODE=1
  • 使用Adj3.4优化脚本优化。
  • 本次测试的目的主要是针对于bios层对数据库的影响。

bios参数名称

默认

测试一

测试二

测试三

测试四

测试五

测试六

测试七

测试八

测试九

cpu预取

电源策略

节能

性能

节能

节能

节能

性能

节能

节能

性能

性能

内存刷新速率

32

32

auto

32

32

32

auto

32

auto

auto

Max Payload Size

256

256

256

512

256

256

256

512

512

512

1.5 性能对比

  • 测试一到八以默认为100%来对比,测试九以测试四为100%来对比,红色为负优化,蓝色为正优化。
  • 上下浮动2~3%为误差,可以忽略不记.
  • oltp_read_only:测试只读场景的性能,其中SQL事务包括点查、范围查询、聚合函数查询、排序查询、distinct查询
  • oltp_read_write:测试读写场景的性能,其中SQL事务包括点查、范围查询、聚合函数查询、排序查询、distinct查询、更新索引列、更新非索引列、插入、删除。
  • oltp_point_select:测试点查场景的性能,其中SQL事务仅包含点查。

测试项(开启预取)

测试场景

并发线程数

默认tps/qps

测试一

测试二

测试三

提升%

oltp_read_only

1

128

7924/126763

6856/109678

7815/125018

7860/125741

100%/86%/99%/99%/

2

1024

7781/124297

7568/120868

7722/123355

7728/123464

100%/97%/99%/99%/

测试项(关闭预取)

测试场景

并发线程数

测试四

测试五

测试六

测试七

提升%

oltp_read_only

1

128

10135/162147

9505/152064

10136/162167

10996/175915

127%/120%/127%/139%/

2

1024

8880/141881

9483/151536

10173/162580

10348/165352

114%/122%/130%/133%/

测试项(整体优化)

测试场景

并发线程数

测试八

测试九

提升%

oltp_read_only

1

128

8167/130647

9534/152531

103%/94%

2

1024

7646/122111

8920/142509

98%/100%

测试项(开启预取)

测试场景

并发线程数

默认tps/qps

测试一

测试二

测试三

提升%

oltp_read_write

1

128

6604/132066

6046/120899

6341/126812

6572/131410

100%/91%/96%/99%/

2

1024

6606/131853

6244/124605

6234/124411

6289/125510

100%/94%/96%/95%/

测试项(关闭预取)

测试场景

并发线程数

测试四

测试五

测试六

测试七

提升%

oltp_read_write

1

128

7805/156070

7646/152898

7380/147573

7566/142850

118%/116%/111%/114%/

2

1024

6864/137023

6557/130901

6626/132301

6748/134684

103%/100%/100%/102%/

测试项(整体优化)

测试场景

并发线程数

测试八

测试九

提升%

oltp_read_write

1

128

6205/124074

6665/133273

93%/85%/

2

1024

5941/118528

6487/129483

90%/94%

测试项(开启预取)

测试场景

并发线程数

默认tps/qps

测试一

测试二

测试三

提升%

oltp_point_select

1

128

511954

505342

515681

522309

100%/99%/100%/102%

2

1024

491284

486009

495770

505242

100%/ 99%/100%/102%

测试项(关闭预取)

测试场景

并发线程数

测试四

测试五

测试六

测试七

提升%

oltp_point_select

1

128

531672

533962

531516

529269

103%/104%/104%/103%/

2

1024

520154

516948

516888

522023

106%/105%/105%/106%/

测试项(整体优化)

测试场景

并发线程数

测试八

测试九

提升%

oltp_point_select

1

128

504975

513851

98%/96%/

2

1024

495400

493525

100%/95%/

二、压力测试模型

2.1  数据模

  • 数据量12张表*每表1000万行
create tablespace "SYSBENCH" datafile '/data/dmdata/DAMENG/SYSBENCH.DBF' size 20480 autoextend on maxsize 67108863 CACHE = NORMAL;create user "SYSBENCH" identified by "SYSBENCH" password_policy 0
default tablespace "SYSBENCH"
default index tablespace "SYSBENCH";grant "PUBLIC","SOI","VTI","DBA"to "SYSBENCH";

2.2 压力测试

默认

  • 插入数据

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  prepare
 

oltp_read_only

./sysbench oltp_read_only.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_read_only.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

oltp_read_write

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

oltp_point_select

 ./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  cleanup

测试一

  • 插入数据

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run


oltp_point_select

./sysbench oltp_point_select.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_point_select.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

清理数据

 ./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  cleanup
 

测试二

  • 插入数据

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  prepare
 

oltp_read_only

./sysbench oltp_read_only.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_read_only.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run


oltp_read_write

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run


oltp_point_select

 ./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  cleanup
 

测试三

  • 插入数据

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  prepare
 

oltp_read_only

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

图片省略ltp_point_select

./sysbench oltp_point_select.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_point_select.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

图片省略

清理数据

 ./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  cleanup
 

测试四

  • 插入数据

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  prepare
 

oltp_read_only

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

图片省略

oltp_point_select

./sysbench oltp_point_select.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_point_select.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

 

图片省略

清理数据

 ./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  cleanup
 

测试五

  • 插入数据

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  prepare
 

oltp_read_only

./sysbench oltp_read_only.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_read_only.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

图片省略

oltp_rad_write

./sysbench oltp_point_select.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_point_select.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

图片省略

清理数据

 ./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  cleanup
 

测试六

  • 插入数据

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  prepare
 

oltp_read_only

./sysbench oltp_read_only.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_read_only.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

 

图片省略

oltp_read_write

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

图片省略

清理数据

 ./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  cleanup
 

测试七

  • 插入数据

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  prepare
 

oltp_read_only

./sysbench oltp_read_only.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_read_only.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

oltp_read_write

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

 

图片省略

oltp_point_select

 ./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  cleanup
 

测试八

  • 插入数据

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  prepare
 

oltp_read_only

./sysbench oltp_read_only.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_read_only.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

图片省略

oltp_read_write

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

oltp_point_select

./sysbench oltp_point_select.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_point_select.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

清理数据

 ./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  cleanup
 

测试九

  • 插入数据

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  prepare
 

oltp_read_only

./sysbench oltp_read_only.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_read_only.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

oltp_read_write

./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

oltp_point_select

./sysbench oltp_point_select.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=128 --warmup-time=60  --report-interval=5 run
./sysbench oltp_point_select.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH --dm-password=SYSBENCH --table_size=10000000 --tables=12 --events=0 --time=60 --threads=1024 --warmup-time=60 --report-interval=5 run

清理数据

 ./sysbench oltp_read_write.lua --db-driver=dm --dm-db=9.1.80.45:5236 --dm-user=SYSBENCH  --dm-password=SYSBENCH --table_size=10000000 --auto-inc=0 --threads=128 --tables=12  cleanup

  1. 测试结论:

oltp_read_only

默认

测试一

测试二

测试三

关闭预取

测试四

测试五

测试六

测试七

整体优化

测试八

测试九

cpu/%

92

84

92

92

82

89

90

80

83

82

内存/G

106

106

111

103

89

99

125

132

107

92

负载

843

133

866

912

134

926

960

127

132

161

功耗/W

385

380

378

387

385

388

385

384

375

377

oltp_read_write

默认

测试一

测试二

测试三

关闭预取

测试四

测试五

测试六

测试七

整体优化

测试八

测试九

cpu/%

60

70

70

60

70

60

60

60

60

60

内存/G

115

113

119

120

97

109

125

135

112

102

负载

126

119

153

131

76

89

86

62

120

87

功耗/W

374

370

370

374

344

345

339

339

366

341

oltp_point_select

默认

测试一

测试二

测试三

关闭预取

测试四

测试五

测试六

测试七

整体优化

测试八

测试九

cpu/%

82

83

83

84

80

85

85

83

85

73

内存/G

104

98

110

102

82

98

124

124

100

84

负载

780

769

779

835

1010

772

124

791

837

1028

功耗/W

390

397

393

398

385

383

377

384

388

380

        测试过程中均未发现内存、硬盘、网络瓶颈,且CPU占用率基本对等,说明服务器发挥出正常性能,以下为各参数对性能影响。

  • 结论1:电源模式修改为性能,服务器负载与内存使用增加,性能未提升,使用默认节能模式即可。
  • 结论2:内存刷新频率修改为Auto,内存使用增加30%,性能降低,使用默认32ms即可。
  • 结论3:PCI-E带宽修改为512,性能提升5~10%,内存使用增加30%,内存充足的情况下可以优化此参数增加性能,否则默认即可。
  • 结论4:CPU预取关闭,点查场景CPU降低10%使用率,读写场景下功耗降低7~10%使用率,三种场景下内存均降低10~15%使用率,只读场景的提升很大并且稳定提升20%,但是读写混合场景性能不稳定+-15%,cpu利用率忽高忽低。因此,对于经常读写的系统,看情况修改此参数。

http://www.ppmy.cn/embedded/116210.html

相关文章

SQL_UNION

在 SQL 中使用 UNION 操作符时,被联合的两个或多个 SELECT 语句的列数必须相同,并且相应的列数据类型也需要兼容。这是因为 UNION 操作符会将结果组合成单个结果集,每个 SELECT 语句的结果行将按顺序放置在结果集中。 例如,如果你…

阿里巴巴新推出Java版AI 应用开发框架-Spring AI Alibaba

[Spring AI Alibaba 是一款 Java 语言实现的 AI 应用开发框架,旨在简化 Java AI 应用程序开发,让 Java 开发者像使用 Spring 开发普通应用一样开发 AI 应用。Spring AI Alibaba 基于 Spring AI 开源项目构建,默认提供阿里云基础模型服务、开源…

数据结构强化(直播课)

应用题真题分析&备考指南 (三)线性表的应用 (六)栈、队列和数组的应用 (四)树与二叉树的应用 1.哈夫曼(Huffman)树和哈夫曼编码 2.并查集及其应用(重要) (四)图的基本应用 …

TCP并发服务器的实现

一请求一线程 问题 当客户端数量较多时,使用单独线程为每个客户端处理请求可能导致系统资源的消耗过大和性能瓶颈。 资源消耗: 线程创建和管理开销:每个线程都有其创建和销毁的开销,特别是在高并发环境中,这种开销…

【flex-grow】计算 flex弹性盒子的子元素的宽度大小

计算以下两个子div的宽度大小&#xff1a; 代码如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">…

双路创新深度学习!TCN-Transformer+LSTM多变量时间序列预测(Matlab)

双路创新深度学习&#xff01;TCN-TransformerLSTM多变量时间序列预测&#xff08;Matlab&#xff09; 目录 双路创新深度学习&#xff01;TCN-TransformerLSTM多变量时间序列预测&#xff08;Matlab&#xff09;效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab…

Linux——创建编写并编译一个C程序

一、使用vim编辑器 在Linux系统下&#xff0c;使用vim编辑器创建、编写并编译一个C程序是一个常见的做法。以下是一个详细的步骤指南&#xff0c;我们将创建一个简单的C程序&#xff0c;该程序的功能是输出“Hello, World!”到终端。 步骤 1: 打开vim编辑器并创建C程序文件 …

Python3网络爬虫开发实战(16)分布式爬虫(第一版)

文章目录 一、分布式爬虫原理1.1 分布式爬虫架构1.2 维护爬取队列1.3 怎样来去重1.4 防止中断1.5 架构实现 二、Scrapy-Redis 源码解析2.1 获取源码2.2 爬取队列2.3 去重过滤2.4 调度器 三、Scrapy 分布式实现3.1 准备工作3.2 搭建 Redis 服务器3.3 部署代理池和 Cookies 池3.4…