知识大全 为什么需要基准测试

Posted

篇首语:只有那些精神愉快的人,知识才像荷花花瓣似得舒展开来。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 为什么需要基准测试相关的知识,希望对你有一定的参考价值。

高性能MySQL:为什么需要基准测试  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  第 章 MySQL基准测试

  基准测试(benchmark)是MySQL 新手和专家都需要掌握的一项基本技能 简单地说 基准测试是针对系统设计的一种压力测试 通常的目标是为了掌握系统的行为 但也有其他原因 如重现某个系统状态 或者是做新硬件的可靠性测试 本章将讨论MySQL 和基于MySQL 的应用的基准测试的重要性 策略和工具 我们将特别讨论一下sysbench 这是一款非常优秀的MySQL 基准测试工具

   为什么需要基准测试

  为什么基准测试很重要?因为基准测试是唯一方便有效的 可以学习系统在给定的工作负载下会发生什么的方法 基准测试可以观察系统在不同压力下的行为 评估系统的容量 掌握哪些是重要的变化 或者观察系统如何处理不同的数据 基准测试可以在系统实际负载之外创造一些虚构场景进行测试 基准测试可以完成以下工作 或者更多

  验证基于系统的y一些假设 确认这些假设是否符合实际情况

  重现系统中的某些异常行为 以解决这些异常

  测试系统当前的运行情况 如果不清楚系统当前的性能 就无法确认某些优化的效果如何 也可以利用历史的基准测试结果来分析诊断一些无法预测的问题

  模拟比当前系统更高的负载 以找出系统随着压力增加而可能遇到的扩展性瓶颈

  规划未来的业务增长 基准测试可以评估在项目未来的负载下 需要什么样的硬件 需要多大容量的网络 以及其他相关资源 这有助于降低系统升级和重大变更的风险

  测试应用适应可变环境的能力 例如 通过基准测试 可以发现系统在随机的并发峰值下的性能表现 或者是不同配置的服务器之间的性能表现 基准测试也可以测试系统对不同数据分布的处理能力

  测试不同的硬件 软件和操作系统配置 比如RAID y 还是RAID 更适合当前的系统?如果系统从ATA 硬盘升级到SAN 存储 对于随机写性能有什么帮助? Linux 系列的内核会比 系列的可扩展性更好吗?升级MySQL 的版本能改善性能吗?为当前的数据采用不同的存储引擎会有什么效果?所有这类问题都可以通过专门的基准测试来获得答案

  证明新采购的设备是否配置正确 笔者曾经无数次地通过基准测试来对新系统进行压测 发现了很多错误的配置 以及硬件组件的失效等问题 因此在新系统正式上线到生产环境之前进行基准测试是一个好习惯 永远不要相信主机提供商或者硬件供应商的所谓系统已经安装好 并且能运行多快的说法 如果可能 执行实际的基准测试永远是一个好主意

  基准测试还可以用于其他目的 比如为应用创建单元测试套件 但本章我们只关注与性能有关的基准测试

  基准测试的一个主要问题在于其不是真实压力的测试 基准测试施加给系统的压力相对真实压力来说 通常比较简单 真实压力是不可预期而且变化多端的 有时候情况会过于复杂而难以解释 所以使用真实压力测试 可能难以从结果中分析出确切的结论

  基准测试的压力和真实压力在哪些方面不同?有很多因素会影响基准测试 比如数据量 数据和查询的分布 但最重要的一点还是基准测试通常要求尽可能快地执行完成 所以经常给系统造成过大的压力 在很多案例中 我们都会调整给测试工具的最大压力 以在系统可以容忍的压力阈值内尽可能快地执行测试 这对于确定系统的最大容量非常有帮助 然而大部分压力测试工具不支持对压力进行复杂的控制 务必要记住 测试工具自身的局限也会影响到结果的有效性

  使用基准测试进行容量规划也要掌握技巧 不能只根据测试结果做简单的推断 例如 假设想知道使用新数据库服务器后 系统能够支撑多大的业务增长 首先对原系统进行基准测试 然后对新系统做测试 结果发现新系统可以支持原系统 倍的TPS(每秒事务数) 这时候就不能简单地推断说新系统一定可以支持 倍的业务增长 这是因为在业务增长的同时 系统的流量 用户 数据以及不同数据之间的交互都在增长 它们不可能都有 倍的支撑能力 尤其是相互之间的关系 而且当业务增长到 倍时 应用本身的设计也可能已经随之改变 可能有更多的新特性会上线 其中某些特性可能对数据库造成的压力远大于原有功能 而这些压力 数据 关系和特性的变化都很难模拟 所以它们对系统的影响也很难评估

  结论就是 我们只能进行大概的测试 来确定系统大致的余量有多少 当然也可以做一些真实压力测试(和基准测试有区别) 但在构造数据集和压力的时候要特别小心 而且这样就不再是基准测试了 基准测试要尽量简单直接 结果之间容易相互比较 成本低且易于执行 尽管有诸多限制 基准测试还是非常有用的(只要搞清楚测试的原理 并且了解如何分析结果所代表的意义)

       返回目录 高性能MySQL

       编辑推荐

       ASP NET开发培训视频教程

  数据仓库与数据挖掘培训视频教程

cha138/Article/program/MySQL/201311/29743

相关参考

知识大全 基准测试的策略

高性能MySQL:基准测试的策略  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  基准测试的策略 

知识大全 基准测试应该运行多长时间

高性能MySQL:基准测试应该运行多长时间  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  基准测

知识大全 运行基准测试并分析结果

高性能MySQL:运行基准测试并分析结果  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  运行基准

知识大全 MySQL 基准测试套件

高性能MySQL:MySQL基准测试套件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  MySQ

知识大全 设计和规划基准测试

高性能MySQL:设计和规划基准测试  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  设计和规划基

知识大全 集成式测试工具

高性能MySQL:集成式测试工具  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  基准测试工具  

为什么要开展研究环境基准?

环境基准研究关乎国家安全与发展战略,是环境管理的重大科技需求,可以为我国环境管理和保护工作提供全面有效的支撑。开展环境基准研究是应对日益严峻环境形势的迫切需要。目前,我国已进入环境高风险期,环境污染、

为什么要开展研究环境基准?

环境基准研究关乎国家安全与发展战略,是环境管理的重大科技需求,可以为我国环境管理和保护工作提供全面有效的支撑。开展环境基准研究是应对日益严峻环境形势的迫切需要。目前,我国已进入环境高风险期,环境污染、

上市公司基准法的要点

上市公司基准法的要点为了便于将上市公司与标的企业的价值进行有效衡量,双方的财务报表一般需要预先进行如下调整:第一:双方必须使用相同的会计方法,例如库存方法统一使用先进先出法或者后进后出法;第二:双方需

核电厂安全系统的设计基准要求规定有哪些?

  二锅头  a.根据事件发生的频度对事件的分类;  b.每类事件的极限安全后果;  c.确定需要安全功能的事件,即设计基准事件;  d.通过对设计基准事件的分析,确定安全功能以保证电厂处于安全运行限