欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

玩转高能MySQL第三弹:实战MySQL性能基准测试

最编程 2024-02-29 11:28:09
...
/* *  --------------------------------------------------------
  *     高性能MySQL-3rd-Baron Schwartz-笔记 
  *     第二章 MySQL基准测试
  */  --------------------------------------------------------

   

    基准测试(benchmark),是新手和专家都必须掌握的一项基本技能,是针对系统设计的一种压力测试。

2.1 为什么需要基准测试

   基准测试,可以提前测试新系统在不同压力下的行为,评估系统容量,观察系统如何处理不同数据,观察系统异常行为,测试硬件是否满足要求,软硬件配置是否正确;

   基准测试,测试结果只用于参考,因为毕竟不是真实生产环境,要留有余量;

   基准测试,测试要尽量简单直接,结果之间容易比较,成本低且易于执行;

   基准测试,实施时一定要搞清楚测试的原理,要了解如何分析结果代表的意义。

2.2 基准测试的策略

   两种分类,集成测试、单组件测试;

   集成测试,可以测试整个应用系统,包括Web服务器、代码、MySQL等,但很难实施;

   测试指标,吞吐量(TPS每秒事务数)、响应时间或延迟(测试任务所需的整体时间)、并发性、可扩展性;

   并发性,总被误认为是同时有多少人访问网站(Web服务器),实际上HTTP是无状态的,大多数用户只是简单地读取浏览器上显示的信息,也就是此时并没有发生请求,因此,并发性应该是指任意时间有多少同时发生的并发请求;

   并发性,注意不要将创建数据库连接和并发性搞混,一个设计良好的应用,同时可以打开成千上万个MySQL数据库服务器连接,但可能同时只有少数连接在执行查询。因此,并发性是关注的是正在工作的并发操作,或者是同时工作的线程数连接数。

2.3 基准测试方法

   先设计和规划基准测试,然后运行72小时以上,尽可能多的获取运行时的系统性能和状态数据(使用脚本自动收集)、学会分析结果、学会绘图(用图表达数据结果)。

2.4 基准测试工具

   总体测试工具:ab、http_load、JMeter;

   组件测试工具:mysqlslap、MySQL Benchmark Suite(sql-bench)、Super Smack、Database Test Suite、Percona's TPCC-MySQL Tool、sysbench。

   重点学会:sysbench。

2.5 基准测试案例

   sysbench工具:sysbench测试简单、结果有可比性,包括CPU基准测试、文件I/O基准测试(fileio)、OLTP基准测试;

   Percona's TPCC-MySQL工具:可以模拟真实压力环境。

2.6 总结

   至少学会sysbench,学会gnuplot绘图工具,眼睛比任何脚本和自动化工具都更有效。