Jmeter——MySQL数据库性能分析以及计划书模板(六)
1. 为什么要理解数据库的性能
- 数据库是承载用户数据的核心,凡是用户的操作几乎都涉及到了数据库的交互
- 数据库读写速度的快慢,直接影响了用户体验
- 数据库的性能测试范围有哪些
- SQL语句
- 数据架构设计的合理性
- 数据库资源使用率
- 数据库性能指标
2. MySQL高性能数据库架构
- 数据库架构演变
3. 海量数据下的分库分表策略
- 拆分的原因
- 单库或者是单表的数据量太大了
- 由于客观原因硬件无法升级
- 数据库拆分方案
- 数据表拆分方案
4. 慢查询的定义与设置
- 什么是慢查询
- 字面理解:执行速度很慢的查询
- 执行速度要慢于我们定义的慢查询时间的查询
- SQL语句的执行时间要大于我们定义的慢查询时间的查询
- 慢查询开启
- 登陆MySQL所在Linux服务器后
- 编辑mysol配置文件,命令 vim/etc/mysq1/mysq1.conf.d/mysq1d.cnf
- 找到 slow_query_log=1,打开它的注释
- 文件中slow_query_1oq_file代表的是慢查询的日志路径。这个配置路径存储若慢查询语句
- long query_time是定义慢查询的时间,超过这个时间的就是慢查询了
- 设置1ag-queries-not-using-indexes=1,指的是未使用索引的sql语句也被记录到文件中
- 获得慢查询SQL
命令:mysq1dumpslow
参数:
。-s是按照什么方式进行排序
oc访问次数
ot查询时间比如:
1、mysqldumpslow-s cslow.log 返回访问次数最多的慢查询语句
2、mysgldumpslow -s tslow.log 返回按照时间排序最新的慢查询语句。-t是返回前多少条数据的意思,比如-t5,返回前5条,
综合语句 mysqldumpslow -sc-t5慢查询日志文件所在路径
5. 性能测试需求分析
- 掌握用户使用场景
- 用户重点使用功能
- 用户重点使用时间段
- 制定性能指标
当前注册用户数
- 数据库中,注册表(用户表)里有多少条数据
PV
- 英文名:Page View,及页面访问量
- 每打开一次页面算一次,刷新也算一次
UV
- 英文名:Unique Vistor(也有理解成User View的),即独立访客数量
- 一个终端一个访客,以Cookie为判断依据
- 其他肯会听到的指标
用户点击量
- 用户点击网站的次数
用户浏览量
- 第一种理解:用户在网站查看网页的数量
- 第二种理解:用户在网站上访问资源的数量
- 制定性能指标
用户访问量
- 有多少用户访问网站
- 一般以IP为计算依据
- 我们的系统新上线没有数据怎么办?
- 借助三方根据:站长工具:
https://tool.chinaz.com/
- 查看竞品的访问量作为依据
- 根据老板或项目管理者的预期发展期望
6. 性能指标换算
- 核心原则
二八原则
- 80%的用户会在20%的时间来访问
- 80%的用户会使用20%的核心功能
- 举个例子