精华内容
下载资源
问答
  • 做压力测试时需要知道的几个步骤
    2021-07-23 13:32:02

    《做压力测试时需要知道的几个步骤》由会员分享,可在线阅读,更多相关《做压力测试时需要知道的几个步骤(11页珍藏版)》请在人人文库网上搜索。

    1、做压力测试时需要知道的几个步骤:1. 了解压力测试的需求。查看发给测试部的性能测试工单,了解此次测试需要使用什么样的场景,期望系统到达最大用户数是多少等等。(具体内容具体分析)2了解应用服务器和数据库服务器相关信息。应用服务器和数据库是都使用同一台机器,还是分离各自分布在不同的机器上。服务器的用户名,登录密码等信息(监控计数器指标时需要到)。3.测试环境准备。安装LR,检查LR是否可用。4.所要测试网站如果有验证码,确定开发是否已经做了处理。是否已经屏蔽或可以任意万能码5.根据需求场景录制脚本假设录制【登录新建通知-退出】。录制完后不做任何修改回放一次脚本:检查标准日志是否有错。6.检查脚本的。

    2、完整性。把LR没有录制到的页面请求手动添加到脚本里。(根据项目决定)用FF浏览器登录到网站上,调试。查找出每个页面加载出来的请求与脚本进行对比,看看LR是否已经录制完所有的HTTP请求。7.删除冗余的脚本例如thinktime或cookies。8.参数化用户名。直接导入用户信息或者连接数据库从而获取用户信息。连接数据库步骤:默认:输入连接数据库的语句连接成功之后的结果!9设置用户的分配方式。(推荐使用Unique和Once的分配方式)以下是各种分配方式的组合:假设使用2个用户,2次迭代,参数的值是1,2,3,4,5,6,7,8,9,10,11,12查看各种方式的取值更新方法数据分配方法Sequ。

    3、enitialRandomUniqueEach iteration迭代1迭代2迭代1迭代2迭代1迭代2Vuser1123612Vuser2127834Each occurrence迭代1迭代2迭代1迭代2迭代1Vuser11,2,3(参数出现3次)4,5,64,8,92,3,81,2,34,5,6Vuser21,2,34,5,61,2,45,6,87,8,910,11,12Once迭代1迭代2迭代1迭代2迭代1迭代2Vuser1113311Vuser211442210插入事务、集合点。(也可在录制脚本时插入)根据场景来决定。建议在录制脚本时就插入。11关联语句。放在脚本“登录”前/定义C值的最。

    4、大长度进行保存web_set_max_html_param_len(2048);/把动态值进行关联web_reg_save_param(doOrglogin,LB=window.parent.setCredential(,RB=,LAST);12.再次回放已经优化好的脚本。1.查看日志是否出错。2.直接登录系统中查看是否多出了一条新的通知内容。13.根据脚本创建压力场景创建场景时需要根据本项目压力测试的需求来规划的。以下以前进行压力测试时,所创建的一个场景。仅供参考。16.使用LR的Analysis工具生成测试结果,分析。测试结果分析是性能测试过程中最重要也是最难的一部分。在这里就不给大家举例了,因为我也不是非常清楚。以后大家有时间多上网查资料、看书学习这方面的知识吧。期待我们能够共同成长。

    更多相关内容
  • 给Apache做压力测试时遇到的问题.最近,在Linux上对Apache-2.1.16了一下压力测试;只访问一个简单的helloworld静态文件,了多次,每秒处理请求次数才700左右;一定是哪里出现了问题,因为:1.虽然load很高,但是...
  • 当上级要求对新的系统做压力测试时,而制作压力测试计划与测试报告的任务就落在我的身上,从没有过测试计划的我不知从何下手,而是到网络上到处搜寻,竟找不到一个很好的模块和一份好的压力测试所必须包括的内容,...
  • 最近用loadrunner写了一个模拟社区用户压测论坛数据库的一个脚本,进行数据库的压力测试和优化工作。  最近跟测试组学习loadrunner的使用,测试组的姑娘们习惯用界面进行操作,而习惯linux平台使用的我很多功能都...
  • 一、什么是压力测试? 软件压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分。软件压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件...

    一、什么是压力测试?

    软件压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分。软件压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下运行测试。通常要进行软件压力测试的资源包括内部内存、CPU可用性、磁盘空间和网络带宽。压力测试涵盖,性能测试,负载测试,并发测试等等,这些测试点常常交织耦合在一起。

    二、压力测试存在哪些问题?

    1、操作系统默认安装,在未做任何优化的情况下实施压力测试

    2、未考虑磁盘IO对软件的影响

    3、网络软件测试,没有考虑到TCP特点

    4、各种超时参数优化

    5、测试客户端未优化

    6、并发理解有误

    7、WEB服务器,数据库,等等服务器未优化

    如果上面几项没有做优化,压力测试数据基本没有任何参考价值,任何一项没有优化,都会导致你的压力测试数据出现偏差。下面我来逐条说明:

    (1)操作系统问题,操作系统是大众化软件,出厂优化都是面向大众,不可能为某个领域做单独优化。所以我们第一步需要优化操作系统。Linux 系统优化内核参数,Windows 系统优化注册表等等。

    (2)磁盘IO这是最容易出现瓶颈的地方,常常是CPU还没有达到极限,磁盘已经不堪重负。

    (3)TCP连接几乎所有B/S,C/S软件都是采用多线程,或者多进程技术。这种技术有个特点,开发者将程序设计为线程可自动伸缩模式,开启进程后会启动少量线程,当连接不断提高后,线程数逐渐增加,随着线程运行结束后,线程逐渐减少。这样的设计会更有效地利用硬件资源,在程序空闲时将硬件资源让给其他进程。少有软件设计为开启服务独占资源。这样测试软件做压力测试,不能一次并发很多请求,而是要采用逐渐增加的方式,否则第一次测试会有一部们并发不能及时响应,导致测试数据偏差。另外也你可以多做几次压力请求(让多线程工作起来),从第三次开始记录测试数据,忽略前面两次的测试数据。提示:另一个问题是TCP连接复用,这也是一个重要配置项。如果这项没有配置,测试出的数据也会有偏差。

    (4)超时参数在压力测试中是非常重要的参数,例如从WEB到数据库连接超时是60秒,如果有一个SQL查询超过300秒,那么后面的请求会持续排队等待,当连接数达到数据库的最大连接时,接下来的所有请求都是失败的。通常我们的WEB服务器超时不会超过30秒,有时我设置为10秒,一旦出现超时,宁可让该连接Timeout,不要让他影响整体服务。

    (5)客户端很多网络软件需要从客户端发出压力测试请求,所以客户端的优化也是必须的,否则客户端压力出不去,服务端压力进不来。

    (6)并发很多人认为并发,就是同一时间内的最大连接数,这是错误的。如果你写过多线程程序,就会发现多线程运行时又规律的。是顺序排队运行的,根本不是同时运行的。 所以并发是指,相对时间内能完成的连接总和,例如,每秒并发,每分钟并发等等,通常我们以秒为单位。我们目前使用的操作系统叫分时操作系统,这种系统的特点就是可能实现多用户,多任务。操作系统将进程排队(优先级)轮询运行,只不过这个操作太快了,使你认为多个进程在同时运行。

    (7)服务器优化主要B/S软件压力测试,WEB,缓存,数据库等等服务器,都需要逐一优化到最佳状态。

    三、为什么做压力测试?

    如果在软件设计阶段都将这些问题元素都考虑进去,同时开发阶段严格执行。那么开发出些软件几乎不用做这个劳人伤神的压力测试。

    所以在软件设计阶段就要考虑,灵活性,扩展性,可靠性与性能,还要考虑高可用与负载均衡。同时软件优化伴随开发,持续集成,持续测试,持续部署。

    四、在哪里做压力测试?

    有些软件需要封闭的环境测试,不能在共享资源的环境中做测试。所以你有必要做Vlan隔离,甚至独立的路由器与交换机在封闭网络中测试。

    五、什么时间做压力测试?

    任何时间都可能做压力测试,为什么我将“时间”重点提出呢?目前受地球自转影响,经常闰秒,你不得不考虑这个问题。

    六、压力测试过程参与部门有哪些?

    运维部门、开发部门、测试部门

    七、如何做压力测试?

    下面我们举一些例子,讲述压力测试方法,限于篇幅不可能面面俱到,我仅仅是给你提供思路。

    测试前你需要一些监控工具,事实监控服务器的资源变化。

    例如 Web 服务器压力测试,测试场景是 nginx :

    worker_processes 8; 处理器数

    worker_rlimit_nofile 65530; 允许最多打开文件数

    worker_connections 4096; 最大连接数数为

    keepalive_timeout 65; 开启复用连接

    gzip on; 压缩传输数据

    怎么做压力测试呢?你要最大化性能?还是相对性能?我们通常需要的是满足需求就好的相对性能,而不是最大化性能。为什么呢?因为要最大化性能是要做出很多配置牺牲的,例如关闭日志,禁止访问时间等等。

    按照上面的配置你的测试用例应该是,每次并发4000 请求 8000~10000 次, 你不能并发8000 请求 4000 这样测试。这是很多人常常犯的错误,所以测试者需要连接系统的配置参数,不能盲目使用数字实验。

    卓越软件评测,一家专业的第三方软件测评机构,提供各类软件测试服务,并出具合格有效的测试报告。更多测试相关内容可以关注卓越软件评测官网(https://www.zyscan.cn/),持续更新中!

    展开全文
  • NULL 博文链接:https://xinglijun1973.iteye.com/blog/2372831
  • 高速增长的互联网业务要求产品开发、迭代和交付周期越来越短,而IT基础设施的广泛云化和第三方API接口的大量使用,使传统的基于内部环境搭建的压力测试方法和测试工具越来越难以满足应用功能可用和容量规划预估的...
  • Monkey是Android SDK提供的一个命令行工具,可以简单方便的发送伪随机的用户事件流,对Android APP做压力(稳定性)测试。主要是为了测试app是否存在无响应和崩溃的情况。
  • jmeter压力测试报告,我是一位高级测试工程师,经过我研究改进了好多细节,完善模板提供大家使用。
  • 最近用loadrunner写了一个模拟社区用户压测论坛数据库的一个脚本,进行数据库的压力测试和优化工作。用户行为分  最近跟测试组学习loadrunner的使用,测试组的姑娘们习惯用界面进行操作,而习惯linux平台使用的我很...
  •  但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作的再好,也不能保证100%和线上性能指标相同。面对这些问题,我们只能尽量去想方设法去模拟。所以,压力测试...
  •  在一个网站上线前, 通常我们应该一些相关的压力测试, 以便了解当前Web服务器在高并发高负载情况下的响应状况和速度,方便对Web服务器进行优化和重构。目前有很多免费的web压力测试工具可以帮助我们完成测试,...
  • udp压力测试.zip

    2020-05-20 16:33:38
    该工具采用QT+ACE实现,应用平台为windows,采用ACE practor模式封装的windows下的完成端口机制,保证并发测试的效果,每秒中我的电脑(4核,4G内存 3.2G主频,100M网卡)可以发送2800个左右...界面用Qt的,简单实用
  • 本次测试中,出现了部分页面错误的情况,但是总的页面响应成功率达到了99%,对于错误的页面需要开发相应的修改,另外,仍然存在个别页面响应超过10s,需要优化,总体不影响系统的稳定性。 扩展测试场景:用户在...
  • 路由压力测试工具

    2018-11-17 23:10:37
    警告:不能用来坏事 运行程序后会发送大量UDP包 发布本软件的目的是为了测试局域网的网络环境, 无线路由器可以测试无线频点干扰及无线吞吐量 测试路由器的性能 运行后打开任务管理器-联网 运行ping 192.168.x.x -...
  • studio压力前言在本文档中,主要介绍VisualStudio2010下作负载测试;例举的测试程序是LoadRunner"class="t_tag"style="word-wrap:break-word;line-height:normal;cursor:pointer;border-bottom-width:1px;border-...
  • 自动软件测试让您可以在一段时间内运行相同的测试,从而确保您所比较的内容具备真正的可比性。在本文中,...然而还没有被证明和证实当前现有的系统范围内的压力测试可以测试Linux内核整体上的稳定性。本
  • 以实际工作过程中的电商平台为实例进行细致讲解如何在实际工作中去用jmeter工具去做压力测试,包括非常细致的测试步骤以及截图说明,跟着实例你就可以自己上手去做压力测试
  • 压力软件测试压力负载测试的一些经验之谈软件测试做测试已经有一段时间一直有一些想法想法和大家交流。LR做压力负载是一个很少的工具,目前在世界上的市场份额也是最多的,大约在70%左右,次之的是QA_load。压力...
  • 为什么要接口压力测试?1.清楚自己所提供的接口性能是多少;2.判断出系统可能存在的问题(代码,DB,cache,系统配置,容量等),提前解决;3.为设置接口的限流/熔断参考;接口压力测试的局限性接口压力测试只注重单...

    大家都知道性能测试中,性能指标包括系统吞吐量,并发处理能力,系统稳定性,响应延迟等。。

    5cb62cb0f4f4581b5e80899c9667508f.png

    为什么要做接口压力测试?

    1.清楚自己所提供的接口性能是多少;

    2.判断出系统可能存在的问题(代码,DB,cache,系统配置,容量等),提前解决;

    3.为设置接口的限流/熔断做参考;

    接口压力测试的局限性

    接口压力测试只注重单业务的接口性能,进行压测的时候,只关注个别接口的性能。

    接口大部分时间是在线下进行,可能线上线下机器配置不一样,而且线上同时在进行着各种不同的业务。

    因此在线下进行接口压力测试的结果,只能作为线上配置的一个参考值。

    如何做接口压力测试?

    通常使用 Jmeter ,loadRunner,PerformanceRunner 等进行压力测试。

    如何确定并发数:

    可以通过尝试的方式。第一次压测的时候,可以设置自己预期接口需要达到的并发数,进行压力测试。然后通过二分法进行调整。

    举例:如果期望的并发数是512 ,第一次压测并发数设置为512 ,如果系统没有压力,第二次并发就尝试设置为1024。如果系统有压力,下次就设置为256。通过逐渐尝试的方式,找出当前接口的并发阈值。

    如何确定总请求次数:

    有时候单纯的通过并发数并不能完全发现系统的压力状况,因为并发数只能测出系统的处理能力。

    但是有时随着长时间的调用,系统可能会出现其他问题。比如:随着数据量的增多,存储磁盘满了、内存缓存用光,缓存服务使用磁盘缓存而拖慢系统等情况。

    为了避免这种情况,可以尝试用现有线上业务每天产生的数量乘以一定的天数(天数的大小视业务的具体情况而定,推荐180天以上),作为接口压力测试的总请求次数。

    接口压力测试数据的选取:

    通常随机选择数据。但是要注意重复进行压力测试对性能的影响。

    比如:

    第一次压测的 Id 是从2500W 到2600W 之间选择的,下次用同样的 Id 范围做压测的时候,如果接口实现中有缓存,则会很大程度影响压力测试的结果,对压力测试的解读时候,要考虑到这个因素。

    另外,使用不存在的 Id 去进行压测,结果并没有太大意义。

    七、压力测试报告应该包含哪些结果

    接口压力测试结果

    服务器压力

    每次接口压力测试时,接口所在服务的服务器 cpu/jvm 使用率历史记录,jvm堆大小,响应时长图 (借助 pinpoint 查看),cpu load 值(top 命令),gc 信息等。

    对于接口压力测试结果:

    关注 响应时间是否符合要求,响应时间(前99%) 是不是在可允许的范围内。最大值是多少,是否可以容忍。 通常来说,错误百分比应该为0。

    对于服务器压力:

    看 cpu 使用率是否在可接受范围内,jvm 堆大小是否变化频繁,是否有 fullGC。Young GC 耗时,CPU load值是否在可接受范围内。 响应时长图是否平滑(如果有毛刺现象,需要找出原因)。

    如何根据测试结果定位性能问题

    1.响应时间不符合要求:通过 pinpoint 观察调用链,找出耗时比较长的步骤,进行优化;

    2.并发数达不到要求,可以从以下几个方面进行考虑:

    a 是否发生系统依赖资源争用(比如:数据库连接,业务处理线程数等)

    b 业务流程/代码性能是否可以优化

    c 在运行的过程中是否频繁 GC

    3. CPU 使用率过高:

    a 在运行的过程中是否频繁 GC

    b是否发生过多的线程切换

    c 程序中是否有比较耗 cpu 的代码

    修复性能问题

    除了只可能在极端压力测试情况下会发生的性能问题,并且修复代价过大的问题可以不进行修复修复性能问题

    除了只可能在极端压力测试情况下会发生的性能问题,并且修复代价过大的问题可以不进行修复,但是要在压力测试报告中体现出来此问题,以及解决方案),其他问题都必须进行修复。

    如果没有专门的接口压力测试环境,记得做完接口压力测试之后,将测试数据清除(缓存,数据库,消息中间件中未消费完毕的消息 等)。

    推荐阅读:

    展开全文
  • 进入2015年后,测试行业开始重视GAPS技术,开始将其用于压力测试的运用,以WeTest为例,运用GAPS进行的压力测试开始应用于多款游戏大作上线前的压力测试
  • 1、postman通常用于接口测试,同时也可以用于作为压力测试 2、jmeter做压力测试 通常我们用postman主要是接口请求测试,这里就不用在重复描述 今天主要讲这两个工具用于压力测试 一、Postman 二、Jmeter Postman是...

    做开发的同学一定会遇到接口对接,今天介绍两个对接测试两个我个人认为比较好的测试工具

    postman和jmeter

    1、postman通常用于做接口测试,同时也可以用于作为压力测试

    2、jmeter做压力测试

    通常我们用postman主要是接口请求测试,这里就不用在重复描述

    今天主要讲这两个工具用于压力测试

    一、Postman

    二、Jmeter

    Postman是一个很方便的测试工具,但是比起Jmeter来,它在性能测试和压力测试方面的功能要少很多。Jmeter功能非常强大,虽然我感觉不太简约,但是它可以作为专业的性能测试工具使用。

    在这里插入图片描述

    安装Jmeter:http://jmeter.apache.org/download_jmeter.cgi




    参考资料:
    接口压力测试工具(推荐)
    如何用Jmeter做接口测试
    [JM_03]JMeter性能测试基础实战之QPS检测过程解析
    【jmeter】jmeter测试网站QPS
    JMeter做压力测试教程及结果分析

    展开全文
  • 接下来简要讲下一个压力测试需求的几个步骤。第一步:压力测试分两种场景:一种是单场景只压一个接口的;第二种是混合场景,多个有关联的接口。压测时间,一般场景都运行10-15分钟。如果是疲劳测试,可以压一...
  • 压力测试是每一个Web应用程序上线之前都需要的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测试是一个非常...
  • 首先确定下做压力测试的工具和性能的监控工具,这个压测的工具使用的是ab、监控工具使用的是nmon。看下linux主机上的ulimit-n的数据是多少,为改动过的是1024,最好要改的大一点。这个是linux下最大线程数,如果过小...
  • 用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP服务器, 等等。JMet...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 243,626
精华内容 97,450
关键字:

压力测试怎么做