本文整理摘抄自网络。
从压力测试应该关注的点,来谈压力测试。
一个完整的压力测试,需要关注三个方面:如何正确产生压力、如何定位瓶颈、如何预估系统的承载能力。
一、 首先说一下如何产生压力,产生压力的方法有很多,先说下通常方法:
1)可以写脚本产生压力,机器人对服务器进行,发包和收包操作;
2)可以使用现有的工具(像jmeter、LoadRunner这些);
所以说产生压力其实并不难,难点在于产生的压力是不是真实地反映了实际用户的操作场景。
举个例子来说,对游戏来说单纯的并发登陆场景,在整个线上环境中的占比可能并不大(新开服等特殊情况除外),相反“登陆-开始战斗-结束战斗”、不同用户执行不同动作这种“混合模式”占了更大的比重。所以如何从实际环境中提炼出具体的场景比重,并且把这种比重转化成实际压力是一个重要的关注点。
二、 产生压力之后,通常我们可以拿到TPS、响应时延等性能数据,那么如何定位性能问题呢?
1)TPS、响应时延只能告诉你服务器是否存在问题,但不能帮助你定位问题。这些表面背后,是整个后台处理逻辑综合作用的结果。
这时候可以先关注系统的CPU、内存、IO、网络,对比在tps、时延达到瓶颈时这些系统数据的情况。
确定性能问题是系统哪一部分造成的,然后再回到代码的逻辑中逐个优化这些点。
三、 当服务器的整体性能就可以相对稳定下来,这时候就需要对自己服务器的承载能力有一个预估。
1)通过产生真实压力、对比系统数据,大致可以对单套系统的处理能力有个真实的评价,然后结合业务规模配置服务器数量。
可以看下腾讯wetest的这个压测工具http://wetest.qq.com/gaps/
作者:ZeldaZzz
链接:https://www.zhihu.com/question/19867883/answer/89775858
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
从如何实施性能测试谈起
1)性能测试,难点在于你确认要测什么?是压力测试还是负载测试?这点很重要。
2)如何确定测试策略和测试指标?也就是在性能测试中常说的测试场景。这个选择的面和方法很复杂。
3)确认测试环境,内网,无网络问题,带宽足够,线上,线下服务器配置相同,架构同样。缓存设置,等等一系列。
4)选择什么测试工具?简单的AB WB JM 复杂的LR 对吧。选择方法另说。
5)以上都OK了,才可以按照测试策略来进行测试。
6)这只是到了性能测试的实施阶段。后续还有调优,复测,。。。。。。。循环100次。
要确定测试工具,首先要确定测试环境和测试目的,否则就无从选择测试工具。
用Web网站举例,说下需要关注的几个性能指标
不同系统对最大负载的要求不一样。就通常的web网站来说基本指标是:
在合理的响应时间内,系统能提供最大的每秒请求数(QPS/RPS/TPS)。
其中几个关键点:
一、合理响应时间,3-5s是一个合格的网站渲染首屏最多花费的时间,如果单纯看最大qps而不管响应时间的话,这个测试是无意义的;
二、每个页面包含的功能不一样多,所以指标也定不相同,那么访问最频繁的页面的性能指标应该是我们最关注的;
三、web网站大多读写极不平衡,在有持续写入的情况下测试出来的指标与单纯读测试出来的指标对比,对判断锁的性能很有帮助;
四、最重要的一点是,刚创业的站点应多注意快速开发业务,心里有性能这根弦,不犯愚蠢错误就足够了。等站点真正做出来再回头调优,应该是个甜蜜的过程。
作者:毕然
链接:https://www.zhihu.com/question/19867883/answer/13445377
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
用一个直接的压力测试方案,说压力测试
jmeter+badboy再外加一个自己写的monitor监控,用起来还比较顺手,主要就是用来做web压力测试
直接介绍一个工具感受,来谈压力测试
一般都是使用工具,可以模拟多用户 同时/异步 地进行
比较好的工具,要钱的有loadrunner
不要钱的有JMeter
这2种工具都能自动生成图形报告。这样你就能判断出服务器的瓶颈在哪里。是需要增加内存还是提高处理器性能,或者增加硬盘。
一个成功的案例讲,压力测试
文章标题:某政务网站性能优化
文章地址:https://help.aliyun.com/document_detail/29322.html