mysql容量测试_二、MySql 基准测试

目录

[toc]

概述

基准测试,是针对系统设计的一种压力测试。通常的目标是为了掌握系统的行为。是mysql新手和专家都需要掌握的一项基本技能。为什么需要基准测试。因为基准测试是唯一方便有效的、可以学习系统在给定的工作负载下会发生什么的方法。基准测试可以观察系统在不同压力下的行为,评估系统的容量,掌握哪些是重要的变化,或者观察系统如何处理不同的数据。

2.1基准测试的两种策略

针对整个系统的整体测试

mysql并非总是应用的瓶颈,通过整体的测试可以揭示这一点

只有对应用做整体的测试,才能发现各部分之间缓存带来的影响

整体应用的集成式测试更能揭示应用的真实表现,而单独组件测试无法做到这一点

单独测试Mysql

需要比较不同的schema或查询的性能

针对应用中的某个问题进行测试

避免漫长的基准测试过程

2.2基准测试相关指标

吞吐量(TPS)

指的是单位时间内事务处理数。

响应时间或者延迟

这个指标用于测试任务所需的整体时间。根据具体的应用,测试的时间单位可能是微秒、毫秒、秒或者分钟。根据不同的时间单位可以计算出平均响应时间、最小响应时间、最大响应时间和所占百分比。最大响应时间通常意义不大,因为测试时间越长,最大响应时间也可能变长。因此通常可以通过百分比响应时间来替代最大响应时间。例如:如果95%以上的响应时间是5毫秒,则表示人物在95%的时间段内完成。

并发性

并发性基准测试需要关注的是正在工作中的并发操作,或者是同时工作中的线程数或者连接。当并发性增加是,需要测量吞吐量是否下降,响应时间是否变长,如果是这样,应用可能就无法处理峰值压力。并发性测试通常不是为了测试应用能达到的并发度,而是为了测试应用在不同并发下的性能。

可扩展性

在系统的业务压力可能发生变化的情况下,测试可扩展性就非常必要了。可扩展性指的是,给系统增加一倍的工作,在理想情况下就能获得两倍的结果(吞吐量增加一倍)。当然,同时性能(响应时间)也必须在可以接受的范围内。大多数系统是无法达到如此理想的线性扩展的。随着压力的变化,吞吐量和性能都可能越来越差。

2.3基准测试方法

基准测试的第一步是提出问题并明确目标。然后决定是采用标准的基准测试,还是设计专用的测试。设计专用的基准测试很复杂,需要有一个迭代的过程。首先,需要获得生产数据集的快照,并且该快照是很容易还原的,以便后续进行测试。然后,针对数据运行查询。可以建立一个单元测试集作为初步的测试,并运行多遍。更好的办法是选择一个有代表性的时间段,比如高峰期的一个小时,或者一整天,记录生产上的所有查询。如果时间段比较小,可以选择多个时间段,这样有助于覆盖整个系统的活动状态。

基准测试的时间应该运行足够长,这一点很重要。有时候无法确认测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值