什么是基准测试
基准测试是针对系统设计的一种压力测试。更加简单,直接,易于测试,数据可由工具生成。而压力测试一般考虑业务逻辑(购物车业务),要求真实数据。
为什么需要基准测试?
- 可对线上异常进行重现
- 负载能力
- 并发性能
基准测试的指标
- 吞吐量。即TPS(每秒并发事务数量),QPS(每秒查询数量)
- 相应时间。客户端发送到接收到的全部时间
- 并发。测试不同并发下的性能。同时处理的查询请求数量
- 可扩展性。即增加工作会对性能影响不大。
基准的策略
根据不同的指标,会选择合适的策略进测试。策略分为针对整个系统进行整体测试,另一种为单独测试MYSQL。
基准测试的流程
- 设计和规划基准测试
- 测试应该运行多长时间
- 获取系统性能
- 获取准确的测试结果
- 运行并分析
- 绘图
1.设计规划基准测试
测试规划应该记录测试数据、系统配置步骤、测量和分析结果以及预热的方案
2.测试应该运行多长时间
应该运行足够长的时间。保证系统的稳定性。那需要稳定多长时间呢?通常情况系统趋向于稳定后就可以停止运行了。
3.获取系统性能
需要记录CPU使用率,磁盘IO压力,网络流量统计,内存使用情况,SHOW GLOBAL STATUS计数器。
4.获取准确的测试结果
是否正确的基准测试?是否为问题收集相关数据?是否采用错误的测试标准?
5.运行并分析
分析系统负载,数据库的QPS。
6.绘图成表
可视化图表用于更明显的显示趋势
基准测试工具
其中sysbench是多线程系统压测工具,功能满足日常需求。
sysbench用法可以参考:基准测试和sysbench测试
总结
基准测试不一定是反映真实情况。因为毕竟不是真实数据。但简单,直接,易于测试。建议至少熟悉sysbench,且尽早的使用gnuplot绘图方式发现系统中的问题和错误。