原文链接:
http://fanqieto.top/2017/10/23/mysql%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95/
主要简单了解mysql的基准测试
<!--more-->
基准测试是一种测量和评估软件性能指标的活动,用于建立某个时刻的性能基准,以便当系统发生软硬件变化时重新进行基准测试以评估变化对性能的影响。
通俗的讲基准测试是针对系统设置的一种压力测试!
基准测试与压力测试的区别基准测试
- 直接、简单、易于比较、用于评估服务器的处理能力
- 可能不需要关心业务逻辑,所使用的查询和业务的真实性可以和业务环境没有关系。
压力测试
- 对真实的业务数据进行测试,获得真实系统所能承受的压力
- 需要针对不同主题,所使用的数据和查询也是真实用到的。
- 建立mysql服务器的性能基准线: 确定当前mysql服务器运行情况
- 模拟比当前系统更高的负载,以找出系统的扩展瓶颈:增加数据库并发,观察Qps、Tps变化,确定并发量与性能最优的关系。
- 测试不同的硬件,软件和操作系统配置
- 证明新的硬件设备是否配置正确
对整个系统进行基准测试
通常是从系统入口进行测试,比如网站web前端、手机app前端
-
优点
- 能够测试整个系统的性能,包括web服务器、缓存、数据库等
- 能反映出系统中各个组件接口间的性能问题,体现真实性能状态。
- 缺点
- 测试设计复杂,消耗时间长
-
优点
- 测试设计简单,所需耗费时间短
- 缺点
- 无法全面了解整个系统的性能基线。
- 单位时间内所处理的事务数(TPS)
- 单位时间内所处理的查询数(QPS)
- 响应时间
- 平均响应时间、最小响应时间、最大响应时间、各时间所占百分比
- 并发量:同事处理的查询请求的数量(并发量不等于连接数):便是正在工作中的并发的操作数或同事工作的数量
- 准备基准测试及数据收集脚本
- 运行基准测试
- 保存及分析基准测试结果
- 使用生产环境数据时只使用了部分数据
- 在多用户场景中,只做单用户的测试
- 在单服务器上测试分布式应用
- 反复执行同一查询
mysql服务器自带的基准测试工具,随mysql一起安装
- 特点:
- 可以模拟服务器负载,并输出相关统计信息
- 可以指定也可以自动生成查询语句