性能测试工具在数据库中的应用_第1页
性能测试工具在数据库中的应用_第2页
性能测试工具在数据库中的应用_第3页
性能测试工具在数据库中的应用_第4页
性能测试工具在数据库中的应用_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、性能测试工具在数据库中的应用1. 系统性能的概念;2. 性能测试工具的种类;3. 数据库测试的方法4. 性能测试工具在数据库中的使用5. 数据库应用软件系统的性能测试人员,需要 具备哪些方面?概要:性能测试主要是通过自动化的测试工具模拟多种正常、 峰值以及异常负载 条件来对系统的各项性能指标进行的一种测试。 目前市场上的性能测试的工具种 类很多, 可以简单的划分为以下几种:负载压力测试工具、 资源监控工具、 故障 定位工具以及调优工具关键词:系统性能 性能测试工具 数据库正文:系统的性能是个很大的概念,覆盖面非常广泛,对一个软件系统而言,包括执行效 率、资源占用、稳定性、安全性、兼容性、可扩展

2、性、可靠性等等。从用户角度来说,软件性能就是软件对用户操作的响应时间。管理员视角的软件性能 :系统的响应时间;系统运行时服务器的状态,如 CPU 利用情况、内存使用情况等;系统是否能够实现扩展;系统支持多少用户访问;系统性能可能的瓶颈在哪里;系统是否支持 7*24小时的业务访问。产品开发人员视角的软件性能用户关心的响应时间;管理员关心的系统可扩展性等;架构设计是否合理;数据库设计是否合理;代码是否存在性能方面的问题;系统中是否有不合理的内存使用方式。性能测试主要是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来 对系统的各项性能指标进行的一种测试。性能测试在软件的质量保证中起着重要的作

3、用, 它包括的测试内容丰富多样。 中国软 件评测中心将性能测试概括为三个方面:应用在客户端性能的测试, 应用在网络上的测试盒 应用在服务器端性能的测试。 通常情况下, 三方面有效, 合理的结合, 亦可达到对系统性能 全面的分析和瓶颈的预测。当一家企业自己组织力量或委托软件公司代为开发一套应用系统的时候, 尤其是以后 再生产环境中实际使用起来, 用户往往会产生疑问, 这套系统能不能承受大量的并发用户同时访问?这类问题最常见于采用联机事务处理方式数据库应用, web 浏览和视频点播等系统。 这种问题的解决要借助于科学的软件测试手段和先进的测试工具。性能测试的目的是模拟多用户并发访问数据库,执行关键

4、检索业务,分析系统性能。 主要是这个几方面的测试:负载测试,压力测试,疲劳强度测试。目前市场上的性能测试的工具种类很多, 可以简单的划分为以下几种:负载压力测试 工具、资源监控工具、故障定位工具以及调优工具。主流负载性能测试工具负载性能测试工具的原理通常是通过录制、 回放脚本、 模拟多用户同时访问被测试系 统,制造负载,产生并记录各种性能指标,生成分析结果,从而完成性能测试的任务。 主流的负载性能测试工具有:QA Load :Compuware 公司的 QALoad 是客户 /服务器系统、企业资源配置 (ERP和电子 商务应用的自动化负载测试工具。SilkPerformer :一种在工业领域最

5、高级的企业级负载测试工具。LoadRunner :一种较高规模适应性的, 自动负载测试工具, 它能预测系统行为, 优化 性能。 LoadRunner 强调的是整个企业的系统,它通过模拟实际用户的操作行为和实行实时 性能监测,来帮助您更快的确认和查找问题。此外, LoadRunner 能支持最宽范的协议和技 术,为您的特殊环境,量身定做地提供解决方案。WebRunner :是 RadView 公司推出的一个性能测试和分析工具, 它让 web 应用程序 开发者自动执行压力测试 ;webload 通过模拟真实用户的操作,生成压力负载来测试 web 的 性能,用户创建的是基于 javascript 的

6、测试脚本,称为议程 agenda ,用它来模拟客户的行 为,通过执行该脚本来衡量 web 应用程序在真实环境下的性能。MySQL 可以很好的支持大数据量的存取。一般说来, 数据库中的表越小, 在它上面执行的查询也就会越快。因此, 在创建表 的时候, 为了获得更好的性能, 我们可以将表中字段的宽度设得尽可能小。 例如, 在定义邮 政编码这个字段时,如果将其设置为 CHAR(255,显然给数据库增加了不必要的空间,甚至 使用 VARCHAR 这种类型也是多余的,因为 CHAR(6就可以很好的完成任务了。同样的,如果 可以的话,我们应该使用 MEDIUMINT 而不是 BIGIN 来定义整型字段。另

7、外一个提高效率的方法是在可能的情况下,应该尽量把字段设置为 NOT NULL, 这样在将来执行查询的时候,数据库不用去比较 NULL 值。对于某些文本字段, 例如 “省份” 或者 “性别” , 我们可以将它们定义为 ENUM 类型。 因为在 MySQL 中, ENUM 类型被当作数值型数据来处理,而数值型数据被处理起来的速度要 比文本类型快得多。这样,我们又可以提高数据库的性能。1. MySQL 从 4.1开始支持 SQL 的子查询。这个技术可以使用 SELECT 语句来创建一个 单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中。2. 连接(JOIN . 之所以更有效率一些,是因为

8、MySQL不需要在内存中创建临时 表来完成这个逻辑上的需要两个步骤的查询工作。3. MySQL 从 4.0 的版本开始支持 UNION 查询, 它可以把需要使用临时表的两条或 更多的 SELECT 查询合并的一个查询中。 在客户端的查询会话结束的时候, 临时表会被自动 删除,从而保证数据库整齐、高效。使用 UNION 来创建查询的时候,我们只需要用 UNION作为关键字把多个 SELECT 语句连接起来就可以了, 要注意的是所有 SELECT 语句中的字段 数目要想同。下面的例子就演示了一个使用 UNION的查询。4、事务尽管我们可以使用子查询(Sub-Queries 、连接(JOIN 和联合

9、(UNION 来创建各 种各样的查询, 但不是所有的数据库操作都可以只用一条或少数几条 SQL 语句就可以完成的。 更多的时候是需要用到一系列的语句来完成某种工作。5、锁定表尽管事务是维护数据库完整性的一个非常好的方法,但却因为它的独占性,有时会 影响数据库的性能,尤其是在很大的应用系统中。6、使用外键锁定表的方法可以维护数据的完整性,但是它却不能保证数据的关联性。这个时候 我们就可以使用外键。7、使用索引索引是提高数据库性能的常用方法,它可以令数据库服务器以比没有索引快得多的 速度检索特定的行,尤其是在查询语句当中包含有 MAX(, MIN(和 ORDERBY 这些命令的时 候,性能提高更为

10、明显。8、优化的查询语句绝大多数情况下, 使用索引可以提高查询的速度, 但如果 SQL 语句使用不恰当的话, 索引将无法发挥它应有的作用。测试人员应该如何发现数据库相关的性能问题呢?首先要分析什么会引起数据库的性能问题, 一般来说有两个主要原因:数据库的设计和 SQL 语句。数据库的设计又分为数据库的参数配置和逻辑结构设计, 前一种比较好解决, 后一种则 是测试人员需要关注的, 糟糕的表结构设计会导致很差的性能表现。 例如, 没有合理地设置 主键和索引则可能导致查询速度大大降低。 没有合理地选择数据类型也可能导致排序性能降 低。低效率的 SQL 语句是引起数据库性能问题的主要原因之一, 其中又

11、包括程序请求的 SQL 语句和存储过程、 函数等 SQL 语句。 对这些语句进行优化能大幅度地提高数据库性能, 因此 是测试人员需要重点关注的对象。技巧 :可以借助一些工具来帮助找出有性能问题的语句,例如 SQL Best Practices Analyzer 、 SQLServer 数据库自带的事件探查器和查询分析器、 LECCO SQLExpert等。软件 的“极限考验”压力测试是否想知道软件系统在某方面的能力可以达到一个怎样的极限呢?软件项目的管理者以及市场人员会尤其关心压力测试的结果, 想知道软件系统究竟能达到一个怎样的极限。 压 力测试(stress testing就是一种验证软件系

12、统极限能力的性能测试。压力测试与负载测试(load testing 的区别在于,负载测试需要进行多次的测试和记 录,例如随着并发的虚拟用户数的增加,系统的响应时间、内存使用、 CPU 使用情况等方面 的变化如何。 压力测试的目的很明确, 就是要找到系统的极限点。 在系统崩溃或与指定的性 能指标不符时的点,就是软件系统的极限点。说明 :实际上,在做性能测试的过程中不会严格区分这些概念,它们的界限有些模 糊。对于测试人员来说,更关心的是如何满足性能需求,如何进行性能测试。经常碰到性能需求不明确的情况。 用户通常不会明确地提出性能需求, 在进行需求分析 和设计时也通常把性能考虑在后面。 即使提出了性

13、能上的要求, 也是很模糊的, 例如:“不 能感觉到明显的延迟”。对于不明确的性能需求,通常需要进行的不是极限测试,而是负载测试,需要逐级验 证系统在每一个数据量和并发量的情况下的性能响应,然后综合分析系统的性能表现形式。数据库应用软件系统的性能测试人员,需要具备哪些方面?1:应该把握好该系统的业务知识,了解业务的使用人群访问分布和时段特征,以及业 务的的操作特点,业务的协作方式与流程等。2:应该具备良好的测试功能使用能力,能够将业务场景转换为可行的脚本,且能够将 脚本组合为合适的执行场景, 然后能够进行全面且充分的执行过程的监控, 并且对过程中采 取有效的控制和跟踪,最后还要能有效的分析相关结果,如何从图表中看出一些问题3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论