sysbench-系统、数据库压力测试工具

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

sysbench是一款简单易用的压力测试工具,可以测试cpu,memory,fileio,mysql数据库; 

sysbench安装方法:

    默认的epel源中的sysbench是0.4版本的,现在已经到1.x版本,本主采用1.x版本

    github-->https://github.com/akopytov/sysbench

    centos安装方法:

1
2
     #curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash
     #sudo yum -y install sysbench

安装完成后重要的文件:

    对数据库压力测试的文件:

    /usr/share/sysbench/bulk_insert.lua
    /usr/share/sysbench/oltp_common.lua
    /usr/share/sysbench/oltp_delete.lua    #数据库删除测试文件
    /usr/share/sysbench/oltp_insert.lua     #数据库插入测试文件
    /usr/share/sysbench/oltp_point_select.lua
    /usr/share/sysbench/oltp_read_only.lua #数据库读测试文件
    /usr/share/sysbench/oltp_read_write.lua#数据库读写测试文件
    /usr/share/sysbench/oltp_update_index.lua
    /usr/share/sysbench/oltp_update_non_index.lua
    /usr/share/sysbench/oltp_write_only.lua #数据库写测试文件
    /usr/share/sysbench/select_random_points.lua
    /usr/share/sysbench/select_random_ranges.lua
开始数据库测试:

    数据库测试分为3步:prepare(准备测试数据),run(开始测试),cleanup(清除测试数据)

    用到的相关参数:

        --db-driver=mysql 
        --mysql-host=localhost 
        --mysql-port=3306 
        --mysql-socket=/tmp/mysql.sock 
        --mysql-user=root 
        --mysql-password=123456
        --mysql-db=sysbench 
        --tables=10 
        --table-size=500000 
        --report-interval=10  
        --time=120 
        --threads=50 

    参数解析:

        --db-driver:用到的数据库类型

        --mysql-host:数据库的IP

        --mysql-port:数据库的端口

        --mysql-socket:socket的路径

        --mysql-user:数据库用户名

        --mysql-password:用户密码

        --mysql-db:数据库名字,默认为sysbench,需要提前创建创好

        --tables:生成表的个数

        --table-size:每个表的行数

        --report-interval:每隔多久在屏幕打印一次信息

        --time:压测时间

        --threads:启动多少个线程,即模拟多少个用户

准备测试数据:   

1
sysbench  /usr/share/sysbench/oltp_read_only .lua --db-driver=mysql --mysql-host=localhost --mysql-port=3306 --mysql-socket= /tmp/mysql .sock --mysql-user=root --mysql-password=123456 --mysql-db=sysbench --tables=10 --table-size=500000 --report-interval=10  -- time =120 --threads=50 prepare

压测数据库:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#读测试
sysbench  /usr/share/sysbench/oltp_read_only .lua --db-driver=mysql --mysql-host=localhost --mysql-port=3306 --mysql-socket= /tmp/mysql .sock --mysql-user=root --mysql-password=123456 --mysql-db=sysbench --tables=10 --table-size=500000 --report-interval=10  -- time =120 --threads=50 run
#读写测试
sysbench  /usr/share/sysbench/oltp_read_write .lua --db-driver=mysql --mysql-host=localhost --mysql-port=3306 --mysql-socket= /tmp/mysql .sock --mysql-user=root --mysql-password=123456 --mysql-db=sysbench --tables=10 --table-size=500000 --report-interval=10  -- time =120 --threads=50 run
#其它诊次类推
 
#读测试结果,模拟320个用户
[ 11s ] thds: 320 tps: 242.69 qps: 4209.17 (r /w/o : 3694.35 /0 .00 /514 .83) lat (ms,95%): 1678.14 err /s : 0.00 reconn /s : 0.00
[ 21s ] thds: 320 tps: 187.49 qps: 2996.82 (r /w/o : 2621.44 /0 .00 /375 .38) lat (ms,95%): 2120.76 err /s : 0.00 reconn /s : 0.00
[ 31s ] thds: 320 tps: 229.77 qps: 3649.12 (r /w/o : 3190.18 /0 .00 /458 .94) lat (ms,95%): 2159.29 err /s : 0.00 reconn /s : 0.00
[ 41s ] thds: 320 tps: 259.54 qps: 4175.73 (r /w/o : 3656.75 /0 .00 /518 .98) lat (ms,95%): 1803.47 err /s : 0.00 reconn /s : 0.00
[ 51s ] thds: 320 tps: 276.39 qps: 4406.96 (r /w/o : 3853.68 /0 .00 /553 .28) lat (ms,95%): 1589.90 err /s : 0.00 reconn /s : 0.00
[ 61s ] thds: 320 tps: 281.21 qps: 4496.82 (r /w/o : 3934.29 /0 .00 /562 .53) lat (ms,95%): 1561.52 err /s : 0.00 reconn /s : 0.00
[ 71s ] thds: 320 tps: 276.10 qps: 4435.70 (r /w/o : 3883.80 /0 .00 /551 .90) lat (ms,95%): 1648.20 err /s : 0.00 reconn /s : 0.00
[ 81s ] thds: 320 tps: 275.19 qps: 4392.43 (r /w/o : 3841.85 /0 .00 /550 .58) lat (ms,95%): 1618.78 err /s : 0.00 reconn /s : 0.00
[ 91s ] thds: 320 tps: 280.39 qps: 4491.68 (r /w/o : 3931.19 /0 .00 /560 .48) lat (ms,95%): 1589.90 err /s : 0.00 reconn /s : 0.00
[ 101s ] thds: 320 tps: 270.71 qps: 4334.41 (r /w/o : 3792.58 /0 .00 /541 .83) lat (ms,95%): 1678.14 err /s : 0.00 reconn /s : 0.00
[ 111s ] thds: 320 tps: 256.68 qps: 4100.25 (r /w/o : 3587.18 /0 .00 /513 .07) lat (ms,95%): 1771.29 err /s : 0.00 reconn /s : 0.00
[ 121s ] thds: 320 tps: 261.12 qps: 4087.48 (r /w/o : 3578.23 /0 .00 /509 .25) lat (ms,95%): 1708.63 err /s : 0.00 reconn /s : 0.00
SQL statistics:
     queries performed:
         read :                            438242
         write:                           0
         other:                           62606
         total:                           500848
     transactions:                        31303  (258.37 per sec.)
     queries:                             500848 (4133.87 per sec.)
     ignored errors:                      0      (0.00 per sec.)
     reconnects:                          0      (0.00 per sec.)
 
General statistics:
     total  time :                          121.1541s
     total number of events:              31303
 
Latency (ms):
          min:                                124.29
          avg:                               1232.39
          max:                               3681.62
          95th percentile:                   1836.24
          sum :                            38577567.35
 
Threads fairness:
     events (avg /stddev ):           97.8219 /1 .70
     execution  time  (avg /stddev ):   120.5549 /0 .33

删除测试数据:

1
sysbench  /usr/share/sysbench/oltp_read_write .lua --db-driver=mysql --mysql-host=localhost --mysql-port=3306 --mysql-socket= /tmp/mysql .sock --mysql-user=root --mysql-password=123456 --mysql-db=sysbench --tables=10 --table-size=500000 --report-interval=10  -- time =120 --threads=50 cleanup

        本文转自激情燃烧的岁月博客51CTO博客,原文链接http://blog.51cto.com/liuzhengwei521/1923795如需转载请自行联系原作者


weilovepan520

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
11天前
|
机器学习/深度学习 人工智能 自然语言处理
深入探索软件测试:策略、工具与未来趋势
【5月更文挑战第38天】 在软件开发的生命周期中,测试环节扮演着至关重要的角色。随着技术的不断进步和市场需求的多样化,传统的测试方法已逐渐不能满足现代软件项目的需求。本文旨在提供一个全面的软件测试概述,包括最新的测试策略、常用工具以及预测未来的发展趋势。通过分析自动化测试的效益、持续集成的重要性以及人工智能在测试中的应用,文章将帮助读者构建一个更高效、更智能的软件测试环境。
|
3天前
|
机器学习/深度学习 人工智能 jenkins
探索自动化测试工具的选择与应用
在软件开发生命周期中,软件测试是确保质量的重要环节。随着自动化技术的发展,自动化测试工具的选择和应用变得至关重要。这篇文章将深入探讨如何选择适合的自动化测试工具,并结合实例分析其实际应用效果,从而为开发团队提供有效的指导。
|
5天前
|
SQL 关系型数据库 MySQL
mysqldiff - Golang 针对 MySQL 数据库表结构的差异 SQL 工具
Golang 针对 MySQL 数据库表结构的差异 SQL 工具。https://github.com/camry/mysqldiff
38 7
|
9天前
|
SQL Oracle 关系型数据库
探索 Linux 命令 `db_archive`:Oracle 数据库归档日志的工具
探索 Linux 中的 `db_archive`,实际与 Oracle 数据库归档日志管理相关。在 Oracle 中,归档日志用于恢复,当在线重做日志满时自动归档。管理员可使用 SQL*Plus 查看归档模式,通过 `RMAN` 进行备份和恢复操作。管理归档日志需谨慎,避免数据丢失。了解归档管理对 Oracle 管理员至关重要,确保故障时能快速恢复数据库。
|
9天前
|
存储 关系型数据库 Linux
探索 `db_printlog`:Linux 下的数据库日志打印工具
`db_printlog`是Linux下用于解析和打印Berkeley DB日志文件的命令行工具,帮助用户以可读格式理解数据库事务和系统事件。要使用它,先安装Berkeley DB,然后通过`db_printlog logfilename`命令分析日志。常见选项包括`-h`(显示帮助)、`-v`(详细输出)和`-f`(跟随日志更新)。注意日志文件权限和大小问题,此工具适用于Berkeley DB,其他数据库系统可能有不同解析工具。
|
11天前
|
SQL 关系型数据库 MySQL
MySQL数据库——图形化界面工具(DataGrip),SQL(2)-DML(插入、修改和删除数据)
MySQL数据库——图形化界面工具(DataGrip),SQL(2)-DML(插入、修改和删除数据)
18 1
|
11天前
|
测试技术 持续交付
软件测试中的自动化工具及其应用
本文将探讨软件测试中自动化工具的特点、优势以及常见应用场景,重点介绍了自动化测试工具在提高测试效率、减少人力成本以及保证软件质量方面的重要作用。通过深入分析自动化测试工具的应用实例,帮助读者更好地理解和运用现代软件测试工具。
42 1
|
11天前
|
Web App开发 Ubuntu 安全
Linux中的certutil命令:处理证书与证书数据库的实用工具
`certutil`是Linux下的命令行工具,用于处理X.509证书和证书数据库,常与NSS库配合,服务于Firefox等应用。安装`certutil`可通过`apt-get install libnss3-tools`(Debian/Ubuntu)或`yum/dnf install nss-tools`(RHEL/Fedora/CentOS)。基本操作包括:使用`-L`列出证书数据库中的证书,`-A`添加证书,`-D`删除证书,`-x`导出证书。此外,还能用`-M`修改信任设置,`-C`列出证书链,`-V`验证证书链的有效性。了解这些功能有助于高效管理证书。
|
11天前
|
监控 测试技术 Linux
性能测试工具
这篇内容介绍了几种性能测试工具和Linux监控命令。`ab`适用于简单接口测试,易用但扩展性差;`JMeter`功能强大,可扩展,但稳定性不足;`LoadRunner`专业稳定,但需付费。此外,还提到了几个Linux监控命令,如`top`、`vmstat`、`pidstat`和`jstat`,用于系统性能监控和内存使用情况检查。
35 0
|
13天前
|
缓存 负载均衡 测试技术
掌握wrk压力测试工具的优化技巧与实践
掌握wrk压力测试工具的优化技巧与实践
15 1

热门文章

最新文章