高性能MySQL第二章学习笔记

一、基准测试的策略

基准测试有两种主要的策略,一是针对整个系统的整体测试,另外是单独测试MySQL。这两种策略也被称为集成式和单组件式基础测试。

测试指标

1.吞吐量:吞吐量是指单位时间内的事务处理数。这类基准测试主要针对在线事务处理的(OLTP)吞吐量,常用的测试单位每秒事务数(TPS)或每分钟事务数(TPM),常见的标准有TPC-C。
2.响应时间或延迟:这个指标用于测试任务所需的整体时间。,通常可使用百分比相应时间来替代最大响应时间,比如PCT95,PCT99等。
3.并发性:并发性基准测试需要关注的是正在工作中的并发操作,或者是同时工作中的线程数或者连接数。当并发性增加时,需要策略吞吐量是否下降,响应时间是否变长。
4.可拓展性:可拓展性是指,给系统增加一倍的工作,在理想情况下就能获得两倍的结果(即吞吐量增加一倍)。或者说给系统增加一倍的资源(比如两倍的CPU),就可以获得两倍的吞吐量。同时性能(响应时间)也必须在可接受的范围内。

二、基准测试的方法

1.规划基准测试的第一步是提出问题并明确目标,然后决定是采用标准的基准测试还是设计专用的测试。如果是采用标准的基准测试,应该确认选择了合适的测试方案。

2.执行基准测试时,需要记录系统状态和性能指标,比如CPU利用率,磁盘IO,网络流量等。

三、基准测试的工具

集成式测试工具

1.ab: ab是一个apache HTTP服务器基准测试工具。可以测试HTTP服务器每秒可以满足多少请求。
2.http_load: 和ab类似,但是比ab更加灵活,具有更多功能。
3.JMeter: 设计用来测试web应用,也可以用于测试FTP服务器,或者通过JDBC进行数据库查询测试。
单组件式测试工具
4.mysqlslap: 可以模拟服务器的负载,并输出计时信息。它包含在MySQL5.1的发行包中,在MySQL4.1之后都可以使用。
5.MySQL Benchmark Suite(sql-bench): MySQL发行包中一款自带的基准测试套件,可以在不同数据库服务器上进行比较测试。好处在于包含了大量预先定义的测试,容易使用。缺点则有很多限制,比如:单用户、测试数据集小、单线程串行执行。
6.Super Smack: 一款用于MySQL和PostgreSQL的基准测试工具,可以提供压力测试和负载生成。
7.Database Test Suite: 由开源软件开发实验室(OSDL)设计,一款类似某些工业标准测试的测试工具集,其中的dbt2就是一款免费的TPC-C OLTP测试工具(未认证)。
8.sysbench: 一款多线程系统压测工具。
BENCHMARK()函数: MySQL内置函数,可以测试某些特定操作的执行速度,参数是需要执行的表达式和执行次数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值