摘要: 系列原创:性能测试新手误区“数据库(或中间件)非常慢了,如何监控它的性能”“你想得到什么性能指标?”“就是……内部的性能指标”收到性能测试人员这样的问题后,通常会发生上面的对话。我的观点是,准确的说出你想要做什么,比你会不会做更重要。那么对于性能测试人员来说,”性能监控“这门必修课,该从何下手呢?监控什么如果我给你一个黑盒子,告诉你里面是一部机器,要监控它的性能。你能做到么?当然不能。因为你不知道这部机器如何运行,你不知道对它而言性能是什么。性能测试也一样,说到操作系统,大家都知道性能指标要看CPU、MEMORY、DISK IO以及NETWORK等等。但是到了数据库和中间件,如果测试人员说.. 阅读全文
posted @ 2013-01-26 22:18 CaliforniaDream 阅读(3269) 评论(5) 推荐(2) 编辑
摘要: 性能测试新手误区(一):找不到测试点,不知为何而测性能测试新手误区(二):为什么我模拟的百万测试数据是无效的性能测试新手误区(三):用户数与压力性能测试新手误区(四):一切来自录制性能测试新手误区(五):这是性能问题么性能测试新手误区(六):性能监控性能测试新手误区(七):你需要调优么 阅读全文
posted @ 2013-01-26 18:05 CaliforniaDream 阅读(1651) 评论(0) 推荐(1) 编辑
摘要: 之前的文章中曾出现过“并发度”这个概念,这个词不知道是不是我原创,它意在表达“并发”的可能性,是压力的一种度量。一些同学可能还没有理解这个概念的意义,下面我们看看它是怎么来…… 看过之前文章的同学应该知道,我将“并发”这个容易产生误解的词拆分成了“相对并发”和“绝对并发”。为什么这么做呢?那是因为“绝对并发”说的是同一时刻发生的事情,这通常是我们无法观测和衡量的。而“相对并发”说的是一个时间段内发生的事情,这是很容易观测到的。从某种程度上,也可以说“相对并发”是为了弥补我们无法有效评估“绝对并发”的压力而出现的。 但是有时候,性能测试工程师仍然需要回答“系统可以处理多少个并发请求”这类... 阅读全文
posted @ 2013-01-04 11:24 CaliforniaDream 阅读(8108) 评论(1) 推荐(3) 编辑
摘要: 上一篇中已经实现了JAVA的下载视频代码,但仍然是单线程的,还无法进行性能测试。本篇就来通过LoadRunner来实现多线程的模拟和控制。 新建LR的JAVA Vuser脚本,这里可以直接进行JAVA编码,又可以调用LR的内部方法,如事务、思考时间、集合点等等。到了这步已经没有任何难点了,开发人员只要花1个小时了解下LR的基本使用和常用方法即可,测试人员如果不会JAVA……那还是算了吧。 Action.java内容如下: 1 import lrapi.lr; 2 import com.test.*; 3 import java.util.*; 4 import java.io.*; 5... 阅读全文
posted @ 2012-11-06 20:31 CaliforniaDream 阅读(4104) 评论(1) 推荐(3) 编辑
摘要: 最近的一个项目,视频点播系统,使用apache实现的流媒体服务器。其实准确的说叫做伪流(HTTP Pseudo-Streaming),基本原理和概念自行了解吧。让我简单的描述就是仍然是HTTP下载,播放器播放本地缓存。只不过它也实现了一些和正规流媒体服务类似的功能。视频点播类系统的性能测试,说简单了主要就是模拟大量用户去看视频。服务端监控整体性能,客户端关注各自表现。这里难点主要在于如何模拟大量用户观看视频?如何判断各客户端展现?多客户端的模拟无外乎3种方法:1.全公司总动员,一起看。2.一台机器开多个播放页面(或者是一个页面上嵌入多个播放器),调用多台机器。3.抛弃客户端的解码播放过程,直接 阅读全文
posted @ 2012-10-26 03:41 CaliforniaDream 阅读(7319) 评论(3) 推荐(3) 编辑
摘要: 系列原创:性能测试新手误区经常会见到新人提出这样的性能问题:“100用户时,A操作响应时间达到了XX秒,请修改”“场景运行2个小时后,系统没有响应了”面对这样的问题,开发人员一定会觉得很无助,他们甚至不知道问题是什么。即使从测试人员的角度来看,这也算不上是一个合格的问题。甚至是不是真正的问题,都要暂时打上问号。那么一个合格的性能问题应该是什么样呢?首先要证明这是一个问题开发人员面对测试提出的问题时,第一反应很容易是“我的程序没有问题,是你的使用不正确”,想必大多数测试人员都有过这种感受吧。手工功能测试尚是如此,更不用说性能测试了,因为性能测试的核心在于“模拟”二字,模拟大量用户、模拟大数据.. 阅读全文
posted @ 2012-09-28 17:16 CaliforniaDream 阅读(2861) 评论(3) 推荐(2) 编辑
摘要: 系列原创:性能测试新手误区 经常会有性能测试新手问这样的问题: C/S的系统如何录制,应该选择什么协议呢? 待测系统A的一个功能,是由B系统调用的,也需要搭建B系统的测试环境并对其录制么? 我的回答是,先弄清楚你想测的是什么?对它而言,压力又是什么? 新手总是想着如何录制客户端的操作,如何模拟客户端的点击。这种想法应该是受到了主流测试工具影响,性能测试的入门基本都是从工具开始,比如使用最广的LR,其最方便好用的功能应该就是录制了。但是需要清楚的是,录制只是为性能测试提供便利的一个功能(可以傻瓜式的产生向服务器施加压力的脚本),录制本身并不是性能测试的根本或者所必需,能够产生压力的... 阅读全文
posted @ 2012-09-03 13:11 CaliforniaDream 阅读(2251) 评论(0) 推荐(1) 编辑
摘要: 测试职责是什么?发现问题?保证质量?分析风险? 阅读全文
posted @ 2012-07-24 20:33 CaliforniaDream 阅读(4443) 评论(8) 推荐(3) 编辑
摘要: 系列原创:性能测试新手误区同样的项目、同样的性能需求,让不同的测试人员来测,会是相同的结果么? 假设有这样一个小论坛,性能测试人员得到的需求是“支持并发50人,响应时间要在3秒以内”,性能测试人员A和B同时开始进行性能测试(各做各的)。 只考虑发帖这个操作,A设计的测试场景是50人并发发帖,得到的测试结果是平均完成时间是5秒。于是他提出了这个问题,认为系统没有达到性能期望,需要开发人员进行优化。 B设计的测试场景是,50个人在线,并且在5分钟内每人发一个帖子,也就是1分钟内有10个人发帖子,最后得到的测试结果是平均完成时间2秒。于是他的结论是系统通过性能测试,可以满足上线的压力。 ... 阅读全文
posted @ 2012-04-27 19:07 CaliforniaDream 阅读(5809) 评论(3) 推荐(7) 编辑
摘要: 我也模拟了预期中的数据量,为什么说我的测试结果是无效的。性能问题定位到数据库端时,首先要确认数据是否有效。 阅读全文
posted @ 2012-03-14 13:35 CaliforniaDream 阅读(3430) 评论(0) 推荐(4) 编辑