二 MySQL基准测试

一、基准测试指标

 

吞吐量

单位时间内的事务处理数。这类基准测试主要针对在线事务处理(OLTP)的吞吐量,非常适用于多用户的交互式应用。常用的测试单位是每秒事务数(TPS),每分钟事务数(TPM)

 

响应时间或者延迟

这个指标用于测试让任务所需的整体时间。根据具体的应用,测试的时间单位可能是微妙、毫秒、秒或者分钟。根据不同的时间单位可以计算出平均响应时间,最小响应时间,最大响应时间和所占百分比。

 

并发性

在任意时间有多少同时发生的并发请求。在应用的不同环节都可以测量相应的并发性。Web服务器的高并发,一般也会导致数据库的高并发,但服务器使用的语言和工具集对此都会有影响。

 

可扩展性

可扩展性指的是,给系统增加一倍的工作,在理想情况下就能获得两倍的结果(即吞吐量增加一倍)。或者说,给系统增加一倍的资源(比如两倍的CPU数),就可以获得两倍的吞吐量。当然,同时性能也必须在可以接受的范围内。大多数系统是无法做到如此理想的线性扩展的。随着压力的变化,吞吐量和性能都可能越来越差。

 

 

二、基准测试方法

 

1、常见错误

(1)使用真实数据的子集而不是全集

(2)使用错误的数据分布

(3)使用不真实的分布参数

(4)在多用户场景下,只做单用户的测试

(5)在单服务器上测试分布式应用

(6)与用户真实行为不匹配。例如Web页面中的“思考时间”。真实用户在请求到一个页面后会阅读一段时间,而不是不停顿地一个接一个点击相关链接

(7) 反复执行同一个查询。真实的查询是不尽相同的,这可能会导致缓存命中率降低

(8) 忽略了系统预热的过程。例如系统重启后马上进行测试。有时候需要了解系统重启后需要多长时间才能达到正常的性能容量,要特别留意预热的时长。

(9) 使用默认的服务器配置

 

2、基准测试工具

 

2.1集中式测试工具

 

ab Apache HTTP服务器基准测试工具。

http_load 比ab更加灵活,可以通过一个输入文件提供多个URL

JMeter 是一个Java应用程序,可以加载其他应用并测试其性能。JMeter比ab和http_load要复杂很多。例如,它可以通过控制预热时间等参数,更加灵活地模拟真实用户的访问。JMeter拥有绘图接口,还可以对测试进行记录。

 

2.2 单组件式测试工具

 

mysqlslap

MySQL Benchmark Suite(sql-bench)

Super Smack

Database Test Suite

sysbench 一款多线程系统压测工具。它可以根据影响数据库服务器的各种因素来评估系统的性能。

一种全能测试工具,支持MySQL、操作系统和硬件的硬件测试

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值