2.MySQL 基准测试
基准测试是针对系统设计的一种压力测试。
1.为什么需要基准测试
基准测试是唯一方便有效的,可以学习系统在给定的工作负载下回发什么什么的方法。基准测试可以观察可以观察系统在不同压力下的行为,
评估系统的容量,掌握哪些是重要的变化,或者观察系统如何处理不同的数据。基准测试可以在系统实际负载之外创造一些虚构进行测试。基准
测试可以完成以下工作,或者更多:
1.验证基于系统的一些假设
2.重现系统的某些异常行为
3.测试系统当前的运行情况
4.模拟比当前系统更高的负载
5.规划未来的业务增长
6.测试应用适应可变环境的能力
7.测试不同的硬件
8.证明新采购的设备是否正确
2.基准测试的策略
基准测试主要有2个策略:
1.对整体进行测试(集成式)
2.单独对 MySQL 进行测试(单组件式)
3.测试何种指标
在开始执行甚至是在设计基准测试之前,需要先明确测试的目的,测试的目的决定了选择什么样的测试工具和技术。
测试指标:
1.吞吐量:单位时间内的事务处理数,TPS(每秒事务数)
2.响应时间或者延迟 : 这个指标用于测试任务所需的整体时间
3.并发性 : Web 服务器的并发性不等同于数据库的并发性
4.可扩展性 : 可扩展性指,给系统增加一倍的工作,在理想情况下就能获得2倍的结果。
4.基准测试方法
避免常见错误,导致测试结果无用或者不准确:
1.使用真实数据的子集而不是全集
2.使用错误的数据分布
3.使用不真实的分布参数
4.在多用户场景中,只做单用户的测试
5.在单服务器上测试分布式应用
6.与真实用户的行为不匹配
7.反复执行同一个查询
8.没有检查错误
9.忽略的系统预热
10.使用默认的服务器配置
11.测试时间太短
5.基准测试工具
1.集成测试工具
1.ab
2.http_load
3.JMter
2.单组件测试工具
1.mysqlslap
2.MySQL Benchmark Suite
3.Super Smack
4.Database Test Suite
5.Percona's TPCC-MySQL Tool
6.sysbench
1.为什么需要基准测试
2.基准测试策略
3.基准测试方法
4.基准测试工具
5.基准测试案例