MySQL基准测试

1、是什么?服务器

基准测试是针对系统设计的一种压力测试并发

目标是为了掌握系统的行为分布式

 

2、为何?性能

基准测试是惟一方便有效的、能够学习系统在给定的工做负载下会发生什么的方法。学习

基准测试中的压力不是来自真实,相对真实压力来讲比较简单测试

基准测试一般要求尽量快地完成,因此常常给系统形成过大压力线程

使用基准测试进行容量规划不能只根据测试结果作简单的推断,咱们只能进行大概的测试,来肯定系统大体的余量有多少。设计

 

3、基准测试的策略日志

基准测试有两种策略:事务

一、集成式基准测试,针对整个系统的总体测试,应用的场景:须要尽量的体现应用的总体性能

二、单组件式基准测试,单独测试MySQL,应用的场景:在项目的初期

 

4、测试指标

一、吞吐量

  单位时间内的事务处理数

  这类基准测试主要针对在线事务处理(OLTP)的吞吐量,很是适用于多用户的交互式应用

  测试单位是每秒事务数(TPS),有些也采用每分事务数(TPM)

二、响应时间或延迟

  任务所需的总体时间

  根据不一样的时间单位能够计算出平均响应时间、最小响应时间、最大响应时间和所占百分比

  最大响应时间一般意义不大,可使用百分比响应时间来替代,好比95%的响应时间都是5毫秒,则表示任务在95%的时间段内均可以5毫秒完成

三、并发性

  Web服务器的并发性的度量指标是在任意时间有多少同时发生的并发请求。

  并发性基准测试须要关注的是正在工做中的并发操做,或者是同时工做中的线程数或者链接数。

  并发性测试一般不是为了测试应用能达到的并发度,而是为了测试应用在不一样并发下的性能(并发增长时,测量吞吐量是否降低,响应时间是否延长)

四、可扩展性

  给系统增长一倍的工做,在理想状况下就能得到两倍的结果(即吞吐量增长一倍),或者说给系统一倍的资源(好比两倍的CPU数),就能够得到两倍的吞吐量

  可扩展性指标对于容量规范很是有用,它能够提供其余测试没法提供的信息,发现应用的瓶颈。

根据指标去制定需求(好比什么样的响应时间能够接受、期待多少的并发性),而后基于这些需求来设计基准测试

 

5、基准测试方法

测试前先避免如下的常见问题:

一、使用真实数据的子集而不是全集

二、使用错误的数据分布

三、使用不真实的分布参数

四、在多用户场景中,只作单用户的测试

五、在单服务器上测试分布式应用

六、与真实用户行为不匹配

七、反复执行同一个查询

八、没有检查错误,基准测试完成后,必定要检查一下错误日志

九、忽略了系统预热的过程,须要了解系统重启后须要多长时间才能达到正常的性能容量

十、使用默认的服务器配置

十一、测试时间过短

 

设计和规划基准测试

相关文章
相关标签/搜索