随笔分类 -  性能测试

摘要:关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念 笔者是个刚刚踏入压力测试领域不到2个月的小菜,这里分享一下线程组中3个参数之间关系的个人见解,不喜请!喷!,望大家给出宝贵的想法。 假设: 线程数:n Ramp-Up Period:T (有人称之为启动时间,有人说 阅读全文
posted @ 2019-11-08 15:53 布瓜 阅读(950) 评论(0) 推荐(0)
摘要:一、SoapUI简介 soapui提供一个工具通过soap/http来检查,调用,实现web service和web service的功能/负载/符合性测试。 该工具既可作为一个桌面应用软件使用,也可利用插件集成到Eclipse,maven2.X,netbeans 和intellij中使用。 soa 阅读全文
posted @ 2018-06-13 16:32 布瓜 阅读(5776) 评论(1) 推荐(0)
摘要:前言: 近期接到一些性能测试项目,各种各样的项目类型,有接口、网站不一而足,但是往往没有一个明确的性能需求。需求方最常见的一句话就是:“这个需要性能测试”或者“项目上线前要压一压”,等我发了邮件去问具体性能需求,才匆匆忙忙的抛出比如“网页7秒内打开”之类的话,这样的需求,首先不准确,比如这个7秒,是 阅读全文
posted @ 2016-03-09 10:04 布瓜 阅读(1410) 评论(0) 推荐(0)
摘要:一、Error -27727: Step download timeout (120 seconds)has expired when downloading resource(s). Set the“Resource Page Timeout is a Warning” Run-Time Sett 阅读全文
posted @ 2016-02-26 10:51 布瓜 阅读(4991) 评论(0) 推荐(0)
摘要:IP欺骗也是也loadrunner自带的一个非常有用的功能。 需要使用ip欺骗的原因:1、当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果。2、某些服务器配置了负载均衡,使用同一个IP不能测出系统的实际性能。LR中的I 阅读全文
posted @ 2016-02-25 09:45 布瓜 阅读(327) 评论(0) 推荐(0)
摘要:内存泄漏是指计算机可用内存的逐渐减少。当程序持续无法释放其使用的临时内存时就会发生。JavaScript的web应用也会经常遇到在原生应用程序中出现的内存相关的问题,如泄漏和溢出,web应用也需要应对垃圾回收停顿。尽管JavaScript使用垃圾回收进行自动内存管理,但有效的(effective)内... 阅读全文
posted @ 2015-11-26 10:56 布瓜 阅读(237) 评论(0) 推荐(0)
摘要:性能计数器(counter)是描述服务器或操作系统性能的一些数据指标。计数器在性能测试中发挥着“监控和分析”的关键作用,尤其是在分析系统的可扩展性、进行性能瓶颈的定位时,对计数器的取值的分析非常关键。但必须说明的是,单一的性能计数器只能体现系统性能的某一个方面,对性能测试结果的分析必须基于多个不同的... 阅读全文
posted @ 2015-09-08 10:27 布瓜 阅读(448) 评论(0) 推荐(0)
摘要:记得某次给一家公司调优的时候,负责人发给我一堆业务的T-SQL脚本,我面对海量脚本还是从容,虽然不了解内部复杂的业务,但是我们得专注问题的关键 “慢”,我们根据查询的“慢”把他们筛选出来,一一调式优化,不就迅速解决问题吗?三天后,负责人含泪握着我的手,哥们辛苦了,查询响应得到了质的改善。 跟踪提供... 阅读全文
posted @ 2015-09-02 10:30 布瓜 阅读(1810) 评论(0) 推荐(0)
摘要:在参数化时,对于一次压力测试中均只能用一次的资源应该怎么参数化呢?就是说这些资源用了一次就不能在用了的。 --参数化时,在select next row选择unique,update value on选择 each occurence, 1. 迭代跟虚拟用户数没什么必然联系 迭代是这样的: ... 阅读全文
posted @ 2014-12-09 16:45 布瓜 阅读(1360) 评论(0) 推荐(1)
摘要:监控SQLSERVER时,能增加度量。但是只有系统资源相关的度量有数据,而和sqlserver相关的度量却没有数据。解决方法:改为在System Resource Graphs中通过添加Windows Resources的方式添加SQLServer计数器则可以,添加的对象是SQLServer:Gen... 阅读全文
posted @ 2014-11-04 17:53 布瓜 阅读(705) 评论(0) 推荐(0)
摘要:今天寒风刺骨,阳光明媚,新年的气氛越来越浓,临近年底,心情是大不同呀大不同。在美好的心情下,我开始了今天的体验之旅。打开VuGen,新建一个脚本,选择最熟悉的Web协议,别急,这里怎么两个Web协议呢?印象中7.5的版本好像没有Web(Click and scrīpt),那么这个新的协议和我原来熟悉的Web(HTTP/HTML)有什么不同呢?让我来一探究竟。先从最简单的说明上来看,Web(HTTP/HTML):Emulation ofcommunication between abrowser and Web Server.Web(Click and scrīpt):Emulation of 阅读全文
posted @ 2013-04-11 09:58 布瓜 阅读(327) 评论(0) 推荐(0)
摘要:怎么开场呢?我就不说这个问题“很傻很天真”了,这就好比“渔夫要捞鱼,如何选择合适的网眼”、“程序员要写代码,如何选择系统头文件”一样,提出这样的问题充分暴露出一种浮躁盲目的情绪:× 业务不精:对被测软件环境的总体架构不了解,不知道client和server间的通讯方式;× 工具不精:但凡对LoadRunner的基本原理有所了解,估计也不会有这样的问题。其实只要你能把以上的两点搞明白了,这个问题也就不再是问题。LoadRunner属于应用在客户端的测试工具,在客户端模拟大量并发用户去访问服务器,从而达到给服务器施加压力的目的。所以说LoadRunner模拟的就是客户端,其脚本 阅读全文
posted @ 2013-04-11 09:49 布瓜 阅读(502) 评论(0) 推荐(0)
摘要:在 LoadRunner 的运行场景中,有一个不大起眼的设置,可能经常会被很多人忽略,它就是 Pacing 。具体设置方式为: Run-Time settings à General à Pacing ,这个设置的功能从字面上就很容易理解,即在场景的两次迭代 (iteration) 之间,加入一个时间间隔(步进)。设置方法也很简单,这里就不赘述了,我在这里想说明的是,这个设置到底有什么作用?为什么要进行这个设置?说实话,虽然我在以前做过的一些性能测试中,偶尔会对这个步进值进行一些设置,但其实对它的真正含义和作用,我还并不十分清楚。 前段时间,我在对X银行招聘信息系统进行性能 阅读全文
posted @ 2012-11-27 14:32 布瓜 阅读(560) 评论(0) 推荐(0)
摘要:应用场景假设有3个不同的测试场景,分别为并发登录、核心业务、可靠性测试,3个场景有先后执行顺序。由于白天测试机器另有用处,只能在晚上进行性能测试,这时我们的期望是能否把测试场景都设定好之后晚上自动运行,第二天我们回来看测试结果呢?答案是肯定的,可以有两种方式实现。 第一种,相对简单充分利用LR Controller里面Group的功能。新建一个场景把3个脚本都添加进来,在Edit Schedule中选择“Schedule by Group”的方式,在StartTime中设置3个脚本的运行顺序为“Start when Group xxx finished”,并在“Scenario Star... 阅读全文
posted @ 2012-11-26 16:52 布瓜 阅读(237) 评论(0) 推荐(0)
摘要:这个是一篇好文章,解答了并发的感念,给新手学学,请查看原文。http://www.cnblogs.com/pohome/articles/2073283.html 阅读全文
posted @ 2012-11-06 17:02 布瓜 阅读(224) 评论(0) 推荐(0)
摘要:Loadrunner脚本编程(1)-大体思路就目前的了解。Loadrunner的脚本语言其实和C没什么区别。他内部的好多机制都是C实现的。不过是一种“类C”所以我从几个方面分析1:定义常量变量和C一样2:LR函数的参数使用与C有点不一样, 在LR中,C的变量和LR的参数是不一样的。任何C的变量都不能被LR的函数直接调用。应该用lr_eval_string来取值。3:什么循环语句,选择语句都和C一样4:一些函数的定义和C不一样。虽然名字一样,参数有不同5: 输入输出也有些不同。所以重点要突破的地方就是理清参数和变量直接的关系。和多熟悉一LR些函数,其他就是C语言的知识了。lr它有自己管理的变量, 阅读全文
posted @ 2012-10-15 15:44 布瓜 阅读(469) 评论(0) 推荐(0)
摘要:在LR中,C的变量和LR的参数是不一样的。任何C的变量都不能被LR的函数直接调用。应该用lr_eval_string来取值。比如{NewParam}(LR中参数化的变量)直接用这个引用是没有问题的。但是如果如下: Action(){ char a[10]; strcpy(a,"{NewParam}"); lr_message(a); return 0;}这就不对了。 lr_message(a);就会报错。但是写成lr_message(lr_eval_string(a));就可以。因为这里的值已经取出来了。再看另一个问题:一个网友说:Action(){ char a[10]; 阅读全文
posted @ 2012-10-15 15:14 布瓜 阅读(278) 评论(0) 推荐(0)
摘要:Loadrunner 中 cookie 解释与用法loadrunner 中与 cookie 处理相关的常用函数如下:web_add_cookie(): 添加新的 cookie 或者修改已经存在的 cookie web_remove_cookie(): 删除指定的 cookie web_cleanup_cookies(): 删除所有被 Vuser 保存的 cookie web_reg_add_cookie(): 如果找到某些特定文字,则添加到 cookie 中loadrunner 中 cookie 处理的经典问答: 问题 1:当录制 Vuser 脚本时,VuGen 处理 Cookie 吗? Vu 阅读全文
posted @ 2012-10-15 12:00 布瓜 阅读(2573) 评论(0) 推荐(1)
摘要:LR 使用 web_add_cookie 函数进行 cookie 模拟 1 为什么要使用 cookie 模拟 从日常项目测试过程中的问题说起. 比如要进行论坛中的文件下载功能的 测试. 我们都知道只有登录用户才能进行下载操作,这样我们的测试过程可能就变成了先登录系统,然后再 进行下载操作.在使用 loadrunner 设计脚本时就要先在初始化部分写登录脚本,然后再 action 中写下载操 作,当单个用户运行时我们可能看不到什么问题.当用户并发量较多时,问题马上暴露出来了.大部分用户可能 很长时间也没有下载成功,大量的初始化登录操作已经给系统造成了很大的压力,而在日常访问中, 这种大 量短时间 阅读全文
posted @ 2012-10-15 11:57 布瓜 阅读(961) 评论(0) 推荐(0)
摘要:性能测试中如何定位性能瓶颈性能测试的概念是什么,基本目的是什么,我想大家都基本清楚,不作详述,总之,性能测试只是测试过程中的一种方式,帮助我们的功能更好的运行,如果功能测试是可用,易用,满足需求、用户使用为目的,性能测试无非就是让这些目的更流畅。没有什么专业的概念,无非实现两个字:好用!所以,性能测试这种测试方式在发生过程中,其中一个过渡性的工作,就是对执行过程中的问题,进行定位,对功能的定位,对负载的定位,最重要的,当然就是问题中说的“瓶颈”,接触性能测试不深,更非专家,自己的理解,瓶颈产生在以下几方面:1、网络瓶颈,如带宽,流量等形成的网络环境2、应用服务瓶颈,如中间件的基本配置,CACH 阅读全文
posted @ 2012-10-09 09:53 布瓜 阅读(1443) 评论(0) 推荐(0)