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对数据库进行压力测试相关推荐

  1. 使用mysql自带工具mysqlslap测试数据库性能

    MySQL从5.1.4版开始带有一个压力测试工具mysqlslap,通过模拟多个并发客户端访问mysql来执行测试,使用起来非常的简单.通过mysqlslap –help可以获得可用的选项,这里列一些 ...

  2. MySQL自带工具使用介绍

    MySQL自带工具使用介绍: 1)mysql命令:mysql命令事是使用最多的命令工具了,为用户提供了一个命令行接口来操作管理MySQL的服务器. 命令格式: Usage:mysql [OPTIONS ...

  3. mysql 自带工具详解

    MySQL自带工具使用介绍: 1)mysql命令:mysql命令事是使用最多的命令工具了,为用户提供了一个命令行接口来操作管理MySQL的服务器. 命令格式: Usage:mysql [OPTIONS ...

  4. 使用MySQL自带工具mysqlhotcopy快速备份mysql数据库

    使用MySQL自带工具mysqlhotcopy快速备份mysql数据库 发表于82 天前 ⁄ 网站备份 ⁄ 暂无评论 mysqlhotcopy是一个Perl脚本,最初由Tim Bunce编写并提供.它 ...

  5. MySQL自带工具使用

    MySQL自带工具使用 文章目录 MySQL自带工具使用 一.MySQL提示符(prompt) 二.--tee=name 三.3个与性能相关参数 1.-U,--safe-updates 2.--sel ...

  6. MySQL数据库之压力测试

    目录 引言 一.MySQL自带的压力测试工具--Mysqlslap 1.更改其默认的最大连接数 2.进行压力测试 二.使用第三方工具sysbench进行压力测试 1.简介 2.查看sysbench工具 ...

  7. Mysql压测工具mysqlslap 讲解

    参考文献: http://dev.mysql.com/doc/refman/5.1/en/mysqlslap.html http://www.ningoo.net/html/2008/mysql_lo ...

  8. linux 显卡 压力测试软件,显卡压力测试工具 GpuTest下载_显卡压力测试工具 GpuTest官方下载-太平洋下载中心...

    Gputest是一个用户界面友好的应用软件,允许用户对显卡GPU进行OpenGL基准压力测试. 测试项目包括了一些我们熟知的方案,如: FurMark压力测试(OpenGL 2.1 or 3.2). ...

  9. 使用MySQL自带工具mysqlhotcopy快速备份MyISAM引擎的MySQL数据库

    2019独角兽企业重金招聘Python工程师标准>>> mysqlhotcopy是一个Perl脚本,最初由Tim Bunce编写并提供.它使用LOCK TABLES.FLUSH TA ...

最新文章

  1. 学术 | DeepMind最新研究:使用更简单的环境就能检测AI是否安全
  2. windows2012下一端口多网站 Apache配置
  3. 深入理解printf 之一 问题引出
  4. 简述深度学习预训练和正则化
  5. linux 编译opencv 慢,opencv4.0 cuda10 编译速度太慢
  6. 移动优先的响应式布局
  7. 模块电源(二):电感式DC-DC升压器
  8. 匹配中文字符的正则表达式
  9. 同时读取两个文件进行while循环
  10. wps使用mathtype编辑数学公式
  11. 计算机网络电子邮件的格式,电子邮件的格式是什么
  12. 2022.4.21 python中关于sklearn 0.18的错误—— cannot import name comb
  13. 管理学原理简答题和论述题
  14. springboot中websocket服务怎么调用其他类的方法
  15. android之GMS认证
  16. iSCSI target介绍及LIO实操入门
  17. 记录一下学习嵌入式的方法和小窍门
  18. 从零开始学R(三)——基本计算
  19. 使用 C 语言打开浏览器
  20. 怎么在PDF上进行修改文字

热门文章

  1. 中缀 转 后缀 实现计算
  2. bash脚本:12306查询余票并发送邮件提醒
  3. cocos2dx-3.x ——2.x 到3.x变化
  4. 理解 decltype关键字
  5. 最新版基于TP开发的9国语言海外多语言抢单源码+9色前端UI
  6. Windows7文件夹背景终于可以更换啦
  7. 调用GPU不匹配“cuda:0“
  8. Window XP驱动开发(二十四)虚拟串口设备驱动
  9. 腾讯云 Serverless Stable Diffusion 应用免费名额限量放送,试用申请开启!
  10. 社会单位消防安全管理,消防宣传教育与培训,应急疏散预案编制与演练(一和二)...