压测概念

1、什么是基准测试,百度百科是这样介绍的

https://baike.baidu.com/item/%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95

 

基准测试是 [1]  指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。例如,对计算机CPU进行浮点运算、数据访问的带宽和延迟等指标的基准测试,可以使用户清楚地了解每一款CPU的运算性能及作业吞吐能力是否满足应用程序的要求;

 

ps:获取某项性能的指标数据,归档指标数据,以备后续使用。

 

 

 

2、基准测试的目的(包括但不限于)

https://blog.csdn.net/wilbertzhou/article/details/46594825

 

验证系统是否满足规定的标准;

比较两个系统;

选择正确的硬件和软件 ;

理解系统的行为 ;

理解系统的性能 ;

对系统做正确调优和配置 ;

识别系统的优缺点 ;

定位系统的薄弱点 ;

计划未来的增长量 ;

计划可能发生的特殊事件 ;

理解系统的伸缩性;

 

ps:以测试指标数据为基准进行决策或行动

 

 

 

3、基准测试的类型

https://blog.csdn.net/wilbertzhou/article/details/46594825

 

性能测试类型:

-压力测试

-负载测试

-耐久性测试

-峰值测试

 

注解:

-压力测试:测试系统的极限,包括使用极限负载、定义上限、定义容量

-负载测试:测试系统可承受的负载,包括用户数量、事务数量、数据库大小

-耐久性测试:和负载测试类似,仿真可持续的时间,在较长的时间段内测试系统的稳定性。

-峰值测试:测试工作负载的突然变化;定义在当前环境下的系统行为。例如:

 不影响系统的情况下处理峰值;性能将会降低;系统将停止/失败/崩溃。

 

 

ps:我们经常用到的一般是压力测试、负载测试、耐久性测试。用来获取待测试对象的性能指标数据和稳定性。

 

 

4、如何进行基准测试(以数据库基准测试为例)

阿里云rds-mysql基准测试:

https://help.aliyun.com/document_detail/151977.html?spm=a2c4g.11186623.6.1503.404c5feaSzbgN8

 

腾讯云rds-mysql基准测试:

https://cloud.tencent.com/document/product/236/8842

 

华为云rds-mysql基准测试:

https://support.huaweicloud.com/pwp-rds/rds_swp_mysql_01.html

 

百度云rds-mysql基准测试:

https://cloud.baidu.com/doc/RDS/s/Kjwvyzirr

 

自己操作 基准测试:

1)明确测试目的

测试一批新机器的性能指标及稳定性,判定是否满足需求、是否有隐藏问题

2)搭建测试环境

IP地址

10.240.209.40

10.240.209.41

10.240.209.42

10.240.209.43

系统

CentOS 7.4

CentOS 7.4

CentOS 7.4

CentOS 7.4

硬件配置

64C 251G 7T

64C 251G 7T

64C 251G 7T

64C 251G 7T

版本

5.7.22

5.7.22

5.7.22

5.7.22

角色

主库

主库

主库

主库

文件系统

Ext4格式

4k blocksize

Ext4格式

4k blocksize

Ext4格式

4k blocksize

Ext4格式

4k blocksize

Sysbench

1.0.17

1.0.17

1.0.17

1.0.17

ps:数据库配置文件后边给出、监控系统自行搭建

3)准备测试数据

/export/servers/download/sysbench-master/src/sysbench --mysql-host=$i  --mysql-port=3306 --mysql-user=dbadmin --mysql-password=123456 --mysql-db=sbtest --tables=500 --table_size=5000000 --rand-type=uniform --threads=32 --time=18000 --report-interval=1 --percentile=99  --skip_trx=on --db-ps-mode=disable --mysql-ignore-errors=all  lua/oltp_read_write.lua prepare  >> /tmp/prepare_${i}.log  2>&1  &

4)开始进行测试

/export/servers/download/sysbench-master/src/sysbench --mysql-host=$i  --mysql-port=3306 --mysql-user=dbadmin --mysql-password=123456 --mysql-db=sbtest --tables=500 --table_size=5000000 --rand-type=uniform --threads=16 --time=604800 --report-interval=1 --percentile=99  --skip_trx=on --db-ps-mode=disable --mysql-ignore-errors=all --warmup-time=1000  /export/servers/download/sysbench-master/src/lua/oltp_read_write.lua  run  > /tmp/$i.log  2>&1  &

5)测试报告整理

ip

TPS

QPS

AVG ms

TP99 ms

>100ms

10.240.209.40

1504.81

27086.53

21.26

39.65

25

10.240.209.41

1460.57

26290.33

21.91

45.79

14

10.240.209.42

1499.14

26984.46

21.34

40.37

18

10.240.209.43

1516.06

27289.06

21.1

42.61

5

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页