(转)用mysql自带工具mysqlslap对数据库进行压力测试
http://aolens.blog.51cto.com/7021142/1901557-------用mysql自带工具mysqlslap对数据库进行压力测试
mysqlslap是mysql自带的工具,不需要单独安装:
参数:
-concurrency 代表并发数量,多个可以用逗号隔开,concurrency=10,50,100, 并发连接线程数分别是10、50、100个并发。
--engines 代表要测试的引擎,可以有多个,用分隔符隔开。
--iterations 代表要运行这些测试多少次。
--auto-generate-sql 代表用系统自己生成的SQL脚本来测试。
--auto-generate-sql-load-type 代表要测试的是读还是写还是两者混合的(read,write,update,mixed)
--number-of-queries 代表总共要运行多少次查询。每个客户运行的查询数量可以用查询总数/并发数来计算。
--debug-info 代表要额外输出CPU以及内存的相关信息。
--number-int-cols :创建测试表的 int 型字段数量
--auto-generate-sql-add-autoincrement : 代表对生成的表自动添加auto_increment列,从5.1.18版本开始
--number-char-cols 创建测试表的 char 型字段数量。
--create-schema 测试的schema,MySQL中schema也就是database。
--query 使用自定义脚本执行测试,例如可以调用自定义的一个存储过程或者sql语句来执行测试。
--only-print 如果只想打印看看SQL语句是什么,可以用这个选项。
1,简单用法
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[root@Linux_Aolens_01 /home/aolens ] # mysqlslap --user=root --password=password --auto-generate-sql
Benchmark
Average number of seconds to run all queries: 0.002 seconds
Minimum number of seconds to run all queries: 0.002 seconds
Maximum number of seconds to run all queries: 0.002 seconds
Number of clients running queries: 1
Average number of queries per client: 0
|
结果中各项含义:
Average number of ... 运行所有语句的平均秒数
Minimum number of ... 运行所有语句的最小秒数
Maximum number of ... 运行所有语句的最大秒数
Number of clients ... 客户端数量
Average number of queries per client 每个客户端运行查询的平均数
2,添加并发
1
2
3
4
5
6
7
|
[root@Linux_Aolens_01 /home/aolens ] # mysqlslap --user=root --password=password --auto-generate-sql --concurrency=100 --number-of-queries=1000
Benchmark
Average number of seconds to run all queries: 0.316 seconds
Minimum number of seconds to run all queries: 0.316 seconds
Maximum number of seconds to run all queries: 0.316 seconds
Number of clients running queries: 100
Average number of queries per client: 10
|
3,使用自己测试库和测试语句
1
2
3
4
5
6
7
|
[root@Linux_Aolens_01 /home/aolens ] # mysqlslap --user=root --password=password --concurrency=10 --number-of-queries=100 --create-schema=wordpress --query="SELECT * FROM wordpress.wp_posts;"
Benchmark
Average number of seconds to run all queries: 4.255 seconds
Minimum number of seconds to run all queries: 4.255 seconds
Maximum number of seconds to run all queries: 4.255 seconds
Number of clients running queries: 10
Average number of queries per client: 10
|
4,结合实际,对网站首页所请求的数据库连接做压力测试
数据库Mariadb 10.0.14
首先给数据库安装审计插件,并启用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
MariaDB [(none)]> show variables like '%audit%'
-> ;
+-------------------------------+-----------------------+
| Variable_name | Value |
+-------------------------------+-----------------------+
| server_audit_events | |
| server_audit_excl_users | |
| server_audit_file_path | server_audit.log |
| server_audit_file_rotate_now | OFF |
| server_audit_file_rotate_size | 1000000 |
| server_audit_file_rotations | 9 |
| server_audit_incl_users | |
| server_audit_logging | OFF |
| server_audit_mode | 0 |
| server_audit_output_type | file |
| server_audit_syslog_facility | LOG_USER |
| server_audit_syslog_ident | mysql-server_auditing |
| server_audit_syslog_info | |
| server_audit_syslog_priority | LOG_INFO |
+-------------------------------+-----------------------+
14 rows in set (0.00 sec)
|
发现已经安装了,没有安装的MariaDB [(none)]> INSTALL PLUGIN server_audit SONAME 'server_audit.so';
命令行启动审计功能:
命令行启用audit ,重启后失效
1
2
3
4
5
6
7
8
|
MariaDB [(none)]> set global server_audit_file_rotate_size=1024*1024*1024;
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> set global server_audit_events= 'query,table' ;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> set global server_audit_file_rotate_now=on;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> set global server_audit_logging= 'ON' ;
Query OK, 0 rows affected (0.00 sec)
|
刷新一下首页查看审计日志里都有哪些SQL操作,对这些SQL进行压测:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
mysqlslap --user=root --password=password --concurrency=20 --number-of-queries=1000 --create-schema=wordpress --query=" \
SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes' ; \
SELECT option_value FROM wp_options WHERE option_name = 'a3_lz_google_api_key' LIMIT 1; \
SELECT option_value FROM wp_options WHERE option_name = 'a3_lz_google_api_key_enable' LIMIT 1; \
SELECT option_value FROM wp_options WHERE option_name = '_transient_timeout_a3_lz_google_api_key_status' LIMIT 1; \
SELECT option_value FROM wp_options WHERE option_name = '_transient_a3_lz_google_api_key_status' LIMIT 1; \
SELECT option_value FROM wp_options WHERE option_name = 'wordpress_api_key' LIMIT 1; \
SELECT option_value FROM wp_options WHERE option_name = 'onp_license_clipboard-images' LIMIT 1; \
SELECT autoload FROM wp_options WHERE option_name = 'onp_license_clipboard-images' ; \
SELECT option_value FROM wp_options WHERE option_name = 'onp_version_check_clipboard-images' LIMIT 1; \
SELECT option_value FROM wp_options WHERE option_name = 'ossdl_https' LIMIT 1; \
SELECT option_value FROM wp_options WHERE option_name = 'uninstall_plugins' LIMIT 1; \
SELECT option_value FROM wp_options WHERE option_name = 'a3_lazy_load_just_installed' LIMIT 1; \
SELECT option_value FROM wp_options WHERE option_name = 'akismet_comment_nonce' LIMIT 1; \
SELECT option_value FROM wp_options WHERE option_name = 'preload_cache_counter' LIMIT 1; \
SELECT option_value FROM wp_options WHERE option_name = 'rewrite_rules' LIMIT 1; \
......"
Benchmark
Average number of seconds to run all queries: 40.931 seconds
Minimum number of seconds to run all queries: 40.931 seconds
Maximum number of seconds to run all queries: 40.931 seconds
Number of clients running queries: 20
Average number of queries per client: 50
|
转载于:https://www.cnblogs.com/liujiacai/p/7767242.html
(转)用mysql自带工具mysqlslap对数据库进行压力测试相关推荐
- 使用mysql自带工具mysqlslap测试数据库性能
MySQL从5.1.4版开始带有一个压力测试工具mysqlslap,通过模拟多个并发客户端访问mysql来执行测试,使用起来非常的简单.通过mysqlslap –help可以获得可用的选项,这里列一些 ...
- MySQL自带工具使用介绍
MySQL自带工具使用介绍: 1)mysql命令:mysql命令事是使用最多的命令工具了,为用户提供了一个命令行接口来操作管理MySQL的服务器. 命令格式: Usage:mysql [OPTIONS ...
- mysql 自带工具详解
MySQL自带工具使用介绍: 1)mysql命令:mysql命令事是使用最多的命令工具了,为用户提供了一个命令行接口来操作管理MySQL的服务器. 命令格式: Usage:mysql [OPTIONS ...
- 使用MySQL自带工具mysqlhotcopy快速备份mysql数据库
使用MySQL自带工具mysqlhotcopy快速备份mysql数据库 发表于82 天前 ⁄ 网站备份 ⁄ 暂无评论 mysqlhotcopy是一个Perl脚本,最初由Tim Bunce编写并提供.它 ...
- MySQL自带工具使用
MySQL自带工具使用 文章目录 MySQL自带工具使用 一.MySQL提示符(prompt) 二.--tee=name 三.3个与性能相关参数 1.-U,--safe-updates 2.--sel ...
- MySQL数据库之压力测试
目录 引言 一.MySQL自带的压力测试工具--Mysqlslap 1.更改其默认的最大连接数 2.进行压力测试 二.使用第三方工具sysbench进行压力测试 1.简介 2.查看sysbench工具 ...
- Mysql压测工具mysqlslap 讲解
参考文献: http://dev.mysql.com/doc/refman/5.1/en/mysqlslap.html http://www.ningoo.net/html/2008/mysql_lo ...
- linux 显卡 压力测试软件,显卡压力测试工具 GpuTest下载_显卡压力测试工具 GpuTest官方下载-太平洋下载中心...
Gputest是一个用户界面友好的应用软件,允许用户对显卡GPU进行OpenGL基准压力测试. 测试项目包括了一些我们熟知的方案,如: FurMark压力测试(OpenGL 2.1 or 3.2). ...
- 使用MySQL自带工具mysqlhotcopy快速备份MyISAM引擎的MySQL数据库
2019独角兽企业重金招聘Python工程师标准>>> mysqlhotcopy是一个Perl脚本,最初由Tim Bunce编写并提供.它使用LOCK TABLES.FLUSH TA ...
最新文章
- 学术 | DeepMind最新研究:使用更简单的环境就能检测AI是否安全
- windows2012下一端口多网站 Apache配置
- 深入理解printf 之一 问题引出
- 简述深度学习预训练和正则化
- linux 编译opencv 慢,opencv4.0 cuda10 编译速度太慢
- 移动优先的响应式布局
- 模块电源(二):电感式DC-DC升压器
- 匹配中文字符的正则表达式
- 同时读取两个文件进行while循环
- wps使用mathtype编辑数学公式
- 计算机网络电子邮件的格式,电子邮件的格式是什么
- 2022.4.21 python中关于sklearn 0.18的错误—— cannot import name comb
- 管理学原理简答题和论述题
- springboot中websocket服务怎么调用其他类的方法
- android之GMS认证
- iSCSI target介绍及LIO实操入门
- 记录一下学习嵌入式的方法和小窍门
- 从零开始学R(三)——基本计算
- 使用 C 语言打开浏览器
- 怎么在PDF上进行修改文字
热门文章
- 中缀 转 后缀 实现计算
- bash脚本:12306查询余票并发送邮件提醒
- cocos2dx-3.x ——2.x 到3.x变化
- 理解 decltype关键字
- 最新版基于TP开发的9国语言海外多语言抢单源码+9色前端UI
- Windows7文件夹背景终于可以更换啦
- 调用GPU不匹配“cuda:0“
- Window XP驱动开发(二十四)虚拟串口设备驱动
- 腾讯云 Serverless Stable Diffusion 应用免费名额限量放送,试用申请开启!
- 社会单位消防安全管理,消防宣传教育与培训,应急疏散预案编制与演练(一和二)...