一、前言
今天和我一个测试朋友聊了聊,测试人员主要负责:功能测试、功能测试、功能测试、安全测试
二、准备环境
- Sysbench:官方推荐的一款测试工具
- 安装:
yum install sysbench
CentOs
- 查找测试脚本路径:Sysbench 自带适合比较多的业务场境的测试脚本
- 创建测试数据库:
sbtest
create database sbtest;
三、基准测试
-
准备数据:本次测试使用的是 oltp 脚本,适用于大部分网站的业务场境
sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --mysql-port=3306 --mysql-user=root --mysql-password=posword --oltp-test-mode=complex -oltp-tables-count=10 --oltp-table-size=100000 --threads=10 --time=120 --report-interval=10 prepare
注意修改相关的用户名和密码,使用此命令前需要先创建数据库
sbtest
下图是脚本自动生成的数据表文件信息,共 10 张数据表每张数据接近 10 万行,具体可以根据自己的需求来调整脚本生成的数据量
-
开始测试:
sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --mysql-port=3306 --mysql-user=root --mysql-password=password --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000 --threads=10 --time=120 --report-interval=10 run >> /data/mysysbench.log
运行完成后会在 /data/ 目录下生成一个文件。里面就是本次测试的相关数据
-
清理测试环境
sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --mysql-port=3306 --mysql-user=root --mysql-password=password cleanup
-
参数详解
四、测试结果
直接使用 cat 命令查看数据文件 下图就是文件的相关内容
-
SQL statistics(SQL相关统计):
字段 数据 解读 read 789138 120秒内进行了 789138 次读请求 wirte 225468 120秒内进行了 225468 次写请求 other 112734 120秒内进行除了读写操作 112734 次其它请求 total 1127340 120秒内请求数的总和 Transactions 56467 (468.64 per sec.) 56467 是总事务量 468.64 是每秒平均事务量 queries 1127340 (9372.88 per sec.) 1127340 总查询数 9372.88 平均每秒查询数 total time 120.2751s 本次测试使用的总时间为 120 秒 total number of events 56367 本次测试的事务量 -
Latency (ms):
字段 数据 解读 min 3.21 最小响应请求使用的时间(毫秒) avg 21.31 平均请求响应时间(毫秒) max 200.70 最大请求响应时间(毫秒) 99th percentile 29.72 99%的请求时间,最大为 29.72 毫秒 sum 1201432.58 合计等待请求响应的时间 -
Threads fairness:
字段 数据 解读 events (avg/stddev) 5636.7000/17.43 平均每秒执行事件为 5636 标准差为 17.43 execution time (avg/stddev) 120.1433/0.06 平均每个事件响应时间为 120.1433 毫秒,标准差为 0.06 毫秒