mysql优化课之mysql性能压测工具
mysql性能压测工具
课程内容
-
上节课复习
-
什么是性能优化
-
mysql性能影响
-
mysql的性能压测工具
上节课复习
请自行复习上节课学习的内容笔记
什么是性能优化
在不影响系统运行的情况,去完成特定的工作
影响mysql性能
影响mysql的方面(硬件层面)
cpu/内存/IO/网络/显卡
影响mysql的方面(软件层面)
产品原因/数据库中的表结构/操作系统
影响mysql的方面(意识层面)
产品经理/代码的实现
影响mysql的方面(业务层面)
需求定位/业务流程重组
mysql优化的几个方面
数据表优化>>sql语句优化>>数据库参数配置>>硬件资源优化
影响mysql性能(上)
limits.conf:linux资源限制文件,默认打开数量 1024
limits.conf文件相关说明
type:有soft,hard和-
soft指的是当前系统生效的设置值。
hard表明系统中所能设定的最大值
soft的限制不能比hard限制高。用-就表明同时设置了soft和hard的值
item:
core -限制内核文件的大小
date -最大数据大小
fszie -最大文件大小
memlock -最大锁定内存地址空间
nofile -打开文件的最大数目
rss -最大持久设置大小
stack -最大栈大小
cpu -以分钟为单位的最多CPU时间
noproc -进程最大数目
as -地址空间限制
maxlogins -此用户允许登录的最大数目
应用场景
连接sleep超时
代码->操作数据->操作完成->没有关闭数据库
独立表空间
表空间
是每个表存放数据的地方
例子:
一个仓库,你要往仓库里面放东西的话,
你来一些东西你就随便扔到里面,这样东西一多,
你要找到一个东西 就很难找了。
那怎么办呢,我在仓库里面放几个货架,
每个货架放同一个种类的东西,这样的话,
找一个东西 就很方便了。
表空间就和这个货架差不多,每个表单独管理的话,那找数据就比较方便了。
mysql5.6.6之前默认是共享的表空间,
mysql5.6.6之后默认是开启了独立表空间的。
共享表
共享表空间:就是说这个空间是所有的表都共享的,所有的表的数据都存在一个地方的
共享表空间的缺点:不能自动收缩。
什么是自动收缩? 刚建表的时候,表里面数据很少,就1条数据,可能占用空间就几kb,到后来数据多了,占用了10个G的空 间,然后发现有一些数据都是垃圾数据,删了5个G,那这个时候表空间就不会自动减小了,它还是10个G,浪 费空间。
共享表和独立表
而独立表空间就是每个表的表空间都是独享的,
用仓库这个例子就是每个货架都单独在一个房间里头,
这样的话快递员去拿哪个东西,
直接去那个房间里就好了,
不用都挤在一个仓库里了。
而使用了独立的表空间,每个表都有自己的表空间,
删了数据也会自动收缩,就不会有上面的问题了。
影响mysql性能(下)
读写进程数配置
缓存配置影响
查询缓存回产生的性能 : 当缓存量越拉越大的时候,也会占用一些资源
在mysql8.0已经移除
性能压测工具
mysqlslap(mysql自带性能压测工具):
优点:
1.查询数据,语法简单
2.灵活容易使用
- 产生的结果直观
测试对象 : 高并发
mysqlslap -a -u root -p (-u 连接用户名 -p 密码)
ab : Apache提供的性能压测数据