如何进行压力测试,摩羯座跟水瓶座适合结婚吗

如何使用Jmeter进行压力测试

2. 左边树将出现测试计划、工作台两根节点。
3. 选择测试计划,按右键-》添加-》threads(users)线程组
线程组能设置以多少个线程并发做压力测试。
在”循环次数”设置不选择永远,循环次数设置1。
4. 现在先介绍如何设置登录http请求,选择线程组,右键――添加――》sampler-―》http 请求。
http请求即模仿浏览器的访问。
在“服务器名称或ip”设置127.0.0.1,端口号设置:8080,“方法”设置post,路径设置网站登录的地址,如“/exam/operatorAction”。
登录需传入用户、密码。在“同请求一起发送参数”列表中添加参数。参数值根据web应用设置。如login_user=0001;login_password=1;actFlag=login
5. 登录成功后,网站一般将跳入主页面。在jmap中可做判断,判断是否登录后按预想进入主页面(此步骤也可不设)。选择4中的“http请求“,右键――》添加――》断言――》响应断言。“Apply to”设置Main smaple only;“要测试的响应字段”设置“url样本”;“模式匹配规则”设置“包括”,“要测试的模式”增加页面跳转到的主页面,如:“studentMain.jsp”
6. 一般网站登录后,在tomcat中生成了session,之后访问其他页面将无需再次登录,前提是浏览器需支持cookie。在jmap中也同样,如要继续访问其他页面,还需做下面关键的设置。
选择“线程组”――》右键――》添加――》配置元件――》Http cookie管理器。加了此步骤后,http请求将具备cookie功能,即登录成功后访问其他页面将不会跳转到登录页面重新登录。
7. 对目标页面反复压力测试。
7.1 如何使被测页面反复访问达到测压效果。选“线程组”―》右键――》逻辑控制器――》循环控制器。循环次数中选择“永远”。
7.2 选择刚加的“循环控制器”,右键――》添加――》sampler-―》http 请求,按4步骤设置ip、端口,http请求方法为“get”,路径为被压力测试的url,如:“exam/business/studentExam.action.StudentExamAction?action=goIntoMockExam”。
按上面的设置后,已完成配置,可做压力测试。只需点菜单“运行”――》启动,即运行压力测试。
8. jmeter提供了许多压力结果查看工具。是压力测试时非常好的分析工具。下面几种查看工具可有选择的添加。
8.1 察看结果树。他记录每次请求发送数据、响应返回数据。选择“线程组”――》右键――》添加――》察看结果树。
8.2 用表格查看结果。可查看每次请求的响应时间等。选择“线程组”――》右键――》添加――》用表格查看结果。
8.3 Summary Report。可查看平均响应时间、最长响应时间等。

如何用Jmeter做压力测试

ApacheBench是Apache bin目录下附带的一个小工具,专门用来做HTTP服务器的Benchmark Testing,这玩意儿可以单独运行,可以到这儿直接下载了用 Apache Bench,下载后,将ab文件copy到 /usr/local/bin 目录即可。
工具/原料
ApacheBench
方法/步骤
比较常用的命令,如:
ab -n 请求数 -c 并发数 URL
跑了一个简单的Demo:
usertekiMacBook-Pro:~ zhaoxianlie$ ab -n 200 -c 10 http://127.0.0.1:8793/ This is ApacheBench, Version 2.3 <$Revision: 1554214 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.jinbanz.com/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 127.0.0.1 (be patient) Completed 100 requests Completed 200 requests Finished 200 requests Server Software: Server Hostname: 127.0.0.1 Server Port: 8793 Document Path: / Document Length: 28012 bytes Concurrency Level: 10 Time taken for tests: 6.847 seconds Complete requests: 200 Failed requests: 0 Total transferred: 5665503 bytes HTML transferred: 5601103 bytes Requests per second: 29.21 [#/sec] (mean) Time per request: 342.343 [ms] (mean) Time per request: 34.234 [ms] (mean, across all concurrent requests) Transfer rate: 808.07 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.1 0 1 Processing: 148 338 93.2 335 633 Waiting: 148 337 93.3 335 633 Total: 148 338 93.2 336 634 Percentage of the requests served within a certain time (ms) 50% 336 66% 371 75% 397 80% 413 90% 461 95% 500 98% 568 99% 610 100% 634 (longest request)
3
这其中Requests per second、Time per request算是大家都比较看重的两个评估参数了吧。
不过对于这种压力测试来说,也不能一上来就 -n 1000 -c 10,还是得慢慢来,一开始可以来一个 -n 50 -c 10这样子,逐渐网上增加,取Request per second的最大值作为Http server的性能指标,应该会靠谱一些。
假设我的这个测试服务器RPS峰值是30,那一分钟能扛过来的请求差不多 1800 个,这是单核CPU的情况下。
假设是我厂服务器的配置,24核,开启Node的cluster模式,RPS应该是倍数增加的,明天去公司找台服务压测一把。如果真是这样,那么每秒钟能扛过来的请求差不多 720 个,换算到一个小时,是259.2w个访问请求。
假设服务器配置是Nginx+Node,Nginx做负载均衡,proxy_pass对应的upstream配置到4台Node服务器,且每台Node服务器均衡负载,那么,一个小时能扛得动的流量基本是 1kw多一些,满负荷跑一天,2.4亿的流量了。

如何对服务器进行压力测试

压力测试工具很多,可以使用阿里云PTS进行压测。

压测流程

对于一个视频会议软件要如何测试,怎样进行压力测试呢?

同时开始N个视频会议。

软件如何进行压力测试?

在最近的一次测试中定义了测试的目的是:需要了解AUT(被测应用程序)一般能够承受的压力,同时能够承受的用户访问量(容量),最多支持有多少用户同时访问某个功能。在AUT中选择了用户最常用的五个功能作为本次测试的内容,包括登录。大概的需求就是这样。
接下来我AUT的登录说一说怎么用LoadRunner和Jmeter来实现场景的设置达到测试的目的。(注:对服务器的检测不是本次测试的重点,本次测试主要收集并发访问用户数和发生错误用户数)
首先是对脚本的要求:
1、录制脚本(注意所有的脚本都应录制到Action中),自定义事务,事务从提交用户名和口令的脚本之前开始;
2、在定义事务开始的脚本前加入集合点;
3、在脚本中加入检查点,以登录成功的页面出现登录用户的ID即可;
4、参数化登录用户的身份;
其次是对场景设置的要求:
1、因为事先我们不知道将有多少用户访问是临界点,所以在测试过程中需要多次改变用户数来确定;
2、建议修改运行时设置,优化对服务器的访问;
3、计划的设置,每x时间后加载10用户(根据总用户数设置),完全加载后持续运行不超过5分钟(根据需要设置);
4、集合策略,当运行中的用户数100%达到集合点时释放;
5、注意事项,需要注意几个时间:1)服务器响应超时时间;2)登录事务迭代一次所使用的时间;3)集合点等待超时时间;4)计划中设置的间隔时间。在我的测试中事务运行一次的时间不超过30秒,通过修改脚本使它的运行时间达到一分钟左右, 服务器响应超时时间、结合点等待超时时间、计划中设置的间隔时间都设置为了2分钟。
这样场景开始运行后运行用户数呈阶梯增长,另外在每个上升点新增的用户都会随原来已经运行的用户并发访问服务器。
通过多次的运行和对测试结果中正在运行用户数与错误用户的对比,然后根据定义可接受错误率就可得到该功能的最大并发访问的用户数。
以上测试中排除了对网络、客户端等的要求。在实际测试中首先要保证这些资源是足够的。
使用Jmeter也能够达到上述描述的场景的测试,并且更加的便捷。
抄来的
随便看看吧

怎样正确做 Web 应用的压力测试

一个完整的压力测试需要关注三个方面:如何正确产生压力、如何定位瓶颈、如何预估系统的承载能力
(1) 首先说一下如何产生压力,产生压力的方法有很多,通常可以写脚本产生压力机器人对服务器进行发包和收包操作,也可以使用现有的工具(像jmeter、LoadRunner这些),所以说产生压力其实并不难,难点在于产生的压力是不是真实地反映了实际用户的操作场景。举个例子来说,对游戏来说单纯的并发登陆场景在整个线上环境中的占比可能并不大(新开服等特殊情况除外),相反“登陆-开始战斗-结束战斗”、不同用户执行不同动作这种“混合模式”占了更大的比重。所以如何从实际环境中提炼出具体的场景比重,并且把这种比重转化成实际压力是一个重要的关注点。
(2) 产生压力之后,通常我们可以拿到TPS、响应时延等性能数据,那么如何定位性能问题呢?TPS、响应时延只能告诉你服务器是否存在问题,但不能帮助你定位问题。这些表面背后是整个后台处理逻辑综合作用的结果,这时候可以先关注系统的CPU、内存、IO、网络,对比在tps、时延达到瓶颈时这些系统数据的情况,确定性能问题是系统哪一部分造成的,然后再回到代码的逻辑中逐个优化这些点。
(3) 当服务器的整体性能就可以相对稳定下来,这时候就需要对自己服务器的承载能力有一个预估,通过产生真实压力、对比系统数据,大致可以对单套系统的处理能力有个真实的评价,然后结合业务规模配置服务器数量。

展开全文
返回顶部
Baidu