本文涉及:MySQL自带的性能测试工具mysqlslap的使用及几个性能调优的方法
性能测试工具—mysqlslap
mysqlslap是MySQL自带的一款非常优秀的性能测试工具。使用它可以
模拟多个客户端并发向服务器发出查询、更新等请求,然后输出简单的报告
可选参数
- –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列
- –number-char-cols 创建测试表的 char 型字段数量
- –create-schema 测试的database
- –query 使用自定义脚本执行测试,例如可以调用自定义的一个存储过程或者sql语句来执行测试
- –only-print 如果只想打印看看SQL语句是什么,可以用这个选项
如下就是一个简单的使用示例:
1 2 3 4 5 |
[root@syj ~]# mysqlslap -uroot -proot --concurrency=500 --iterations=1 --create-schema='test' --query='select * from u_trade_pay_order limit1000;' --number-of-queries=10 |
影响MySQL性能的原因
连接数不够
当连接数使用超过85%以上就说明连接数已经快要不够用了
连接数相关查看方法
1 2 |
show global status like 'Max_used_connections'; show variables like 'max_connections%'; |
连接数不够的原因
- 连接数设置过低或过高
- 慢查询导致IO阻塞,导致连接长时间不释放
- SQL执行完,连接未释放
修改MySQL的连接数
1
|
set global max_connections = 1024;
|
慢查询
原则上应该单次执行时间超过100ms的SQL就需要考虑优化的事情了
查看慢SQL
1
|
show global status like 'Slow_queries’;
|
出现慢查询的原因
- 索引不合理或没有索引
- 查询的数据量过大
- 存在锁
缓存命中率低
若查询缓存命中率 < 95%,则表明缓存大小可能设置过低或者存在大量缓存碎片
缓存命中率计算方法
1
|
(Qcache_hits – Qcache_inserts) / Qcache_hits * 100%
|
开启查询缓存
1
|
set session query_cache_type=on;
|
提高缓存利用率
- 使用相同的SQL,例如在MyBatist中使用#而不是$
- 客户端与服务端使用相同的字符集
- 增大缓存区的大小
- insert和update会引起缓存失效
推荐阅读
- SpringCloud学习系列汇总
- 为什么一线大厂面试必问redis,有啥好问的?
- 多线程面试必备基础知识汇总
- Java集合源码分析汇总-JDK1.8
- Linux常用命令速查-汇总篇
- JVM系列文章汇总
相关推荐
MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计
MySQL性能调优与架构设计.pdf
MySQL性能调优与架构设计 PDF图书MySQL性能调优与架构设计 PDF图书
基于MySQL性能调优的推荐系统优化设计.pdf基于MySQL性能调优的推荐系统优化设计.pdf基于MySQL性能调优的推荐系统优化设计.pdf基于MySQL性能调优的推荐系统优化设计.pdf基于MySQL性能调优的推荐系统优化设计.pdf基于...
本书以 MySQL 数据库的基础及维护为切入点,重点介绍了 MySQL 数据库应用系统的性能调优,以及高可用可扩展的架构设计。 全书共分3篇,基础篇介绍了MySQL软件的基础知识、架构组成、存储引擎、安全管理及基本的备份...
《MySQL性能调优与架构设计》书中应用到的数据库的创建脚本--书中附录部分--example数据库脚本
资源名称:MySQL性能调优与架构设计内容简介:本书以 MySQL 数据库的基础及维护为切入点,重点介绍了 MySQL 数据库应用系统的性能调优,以及高可用可扩展的架构设计。 全书共分3篇,基础篇介绍了MySQL软件的基础...
2021年MySQL性能调优与架构设计整理.pdf
MySQL性能调优与架构设计 简朝阳 扫描版
MySQL性能调优与架构设计.
mysql性能调优参数整理,我们公司搭建在云上的mysql集群,都是用这个文档进行调优,已实践。
MySQL性能调优与架构设计 PDF中文版全册
MYSQL性能调优工具介绍与应用,方便你快速上手,及学习。
mysql经典,依据作者丰富的实践经验和探索, 极富参考价值。
MySQL性能调优与架构设计-简朝阳 提供4种版本 .epub .mobi .pdf .txt 可复制,非扫描图片版
MySQL性能调优与架构设计.pdf -文字版
MySQL性能调优与架构设计--全册,压缩包文件,欢迎下载
本书以 MySQL 数据库的基础及维护为切入点,重点介绍了 MySQL 数据库应用系统的性能调优,以及高可用可扩展的架构设计。 全书共分3 篇,基础篇介绍了MySQL软件的基础知识、架构组成、存储引擎、安全管理及基本的备份...
mysql性能调优讲解,mysql优化,mysql性能调优讲解,mysql优化mysql性能调优讲解,mysql优化