如何进行Web服务的性能测试

如何进行Web服务的性能测试,第1张

贴一篇我们内部的文章:
随着浏览器功能的不断完善,用户量不断的攀升,涉及到web服务的功能在不断的增加,对于我们测试来说,我们不仅要保证服务端功能的正确性,也要验证服务端程序的性能是否符合要求。那么性能测试都要做些什么呢?我们该怎样进行性能测试呢?
性能测试一般会围绕以下这些问题而进行:
1 什么情况下需要做性能测试?
2 什么时候做性能测试?
3 做性能测试需要准备哪些内容?
4 什么样的性能指标是符合要求的?
5 性能测试需要收集的数据有哪些?
6 怎样收集这些数据?
7 如何分析收集到的数据?
8 如何给出性能测试报告?
性能测试的执行过程及要做的事儿主要包含以下内容:
1 测试评估阶段
在这个阶段,我们要评估被测的产品是否要进行性能测试,并且对目前的服务器环境进行粗估,服务的性能是否满足条件。
首先要明确只要涉及到准备上线的服务端产品,就需要进行性能测试。其次如果产品需求中明确提到了性能指标,那也必须要做性能测试。
测试人员在进行性能测试前,需要根据当前的收集到的各种信息,预先做性能的评估,收集的内容主要包括带宽、请求包大小、并发用户数和当前web服务的带宽等
2 测试准备阶段
在这个阶段,我们要了解以下内容:
a 服务器的架构是什么样的,例如:web服务器是什么?是如何配置的?数据库用的是什么?服务用的是什么语言编写的?;
b 服务端功能的内部逻辑实现;
c 服务端与数据库是如何交互的,例如:数据库的表结构是什么样的?服务端功能是怎样 *** 作数据库的?
d 服务端与客户端之间是如何进行交互的,即接口定义;
通过收集以上信息,测试人员整理出服务器端各模块之间的交互图,客户端与服务端之间的交互图以及服务端内部功能逻辑实现的流程图。
e 该服务上线后的用户量预估是多少,如果无法评估出用户量,那么可以通过设计测试执行的场景得出这个值;
f 上线要部署到多少台机器上,每台机器的负载均衡是如何设计的,每台机器的配置什么样的,网络环境是什么样的。
g 了解测试环境与线上环境的不同,例如网络环境、硬件配置等
h 制定测试执行的策略,是需要验证需求中的指标能否达到,还是评估系统的最大处理能力。
i 沟通上线的指标
通过收集以上信息,确定性能测试用例该如何设计,如何设计性能测试用例执行的场景,以及上线指标的评估。
3 测试设计阶段
根据测试人员通过之前整理的交互图和流程图,设计相应的性能测试用例。性能测试用例主要分为预期目标用户测试,用户并发测试,疲劳强度与大数量测试,网络性能测试,服务器性能测试,具体编写的测试用例要更具实际情况进行裁减。
用例编写的步骤大致分为:
a 通过脚本模拟单一用户是如何使用这个web服务的。这里模拟的可以是用户使用web服务的某一个动作或某几个动作,某一个功能或几个功能,也可以是使用web服务的整个过程。
b 根据客户端的实际情况和服务器端的策略,通过将脚本中可变的数据进行参数化,来模拟多个用户的 *** 作。
c 验证参数化后脚本功能的正确性。
d 添加检查点
e 设计脚本执行的策略,如每个功能的执行次数,各个功能的执行顺序等
4 测试执行阶段
根据客户端的产品行为设计web服务的测试执行场景及测试执行的过程,即测试执行期间发生的事儿。通过监控程序收集web服务的性能数据和web服务所在系统的性能数据。
在测试执行过程中,还要不断的关注以下内容:
a web服务的连接速度如何?
b 每秒的点击数如何?
c Web服务能允许多少个用户同时在线?
d 如果超过了这个数量,会出现什么现象?
e Web服务能否处理大量用户对同一个页面的请求?
f 如果web服务崩溃,是否会自动恢复?
g 系统能否同一时间响应大量用户的请求?
h 打压机的系统负载状态。
5 测试分析阶段
将收集到的数据制成图表,查看各指标的性能变化曲线,结合之前确定的上线指标,对各项数据进行分析,已确定是否继续对web服务进行测试,结果是否达到了期望值。
6 测试验证阶段
在开发针对发现的性能问题进行修复后,要再执行性能测试的用例对问题进行验证。这里需要关注的是开发在解决问题的同时可能无意中修改了某些功能,所以在验证性能的同时,也要关注原有功能是否受到了影响。
想看原文或者有测试其他相关的问题可以关注下 搜狗测试 微信公众号,我们上面有不少关于性能测试分享~

在cf手游游戏中,玩家可以通过抽奖来获取最极品的武器道具,不过,抽奖要掌握一定的技巧,这样才能够尽快地抽到最好的武器,当然,大R可以直接忽略哈,直接无脑抽就行了!

技巧1:避开高峰期

俗话说得好,“人多耳杂不好办事”。在本作中无疑是对的,如果我们是在人多当然时候,例如晚上7点到9点这一时间段,因为每个时段的出货数都规定好的,一下子超多人,就算有1000把紫色AK47也不够分。因此,想要好q就要耐得住寂寞。

技巧2:服务器开启几率高

对于非R和小R来说,抽取q械的时间点非常重要。我们在各种任务中拼了老命攒了好久的钻石,如果抽不到好的q绝对是要崩溃的。个人建议就是在服务器刚刚维护结束的时候就上线进行抽奖,9点结束9点就马上上,因为这个时候正是百废待兴,出好q的几率大。

技巧3:巧用新手福利

经过近几日的实战发现,新晋的小号往往会在抽奖中抽到好东西。可能系统把好东西给新人,是因为基于想挽留到新玩家的设定吧。个人表示可以先将我们游戏的缓存清理掉,模仿成我们第一次登陆游戏的样子,这样容易出好东西。

技巧4:脸黑游戏也能玩

必须指出的是,抽奖绝对是一个看人品、拼手气的事情。一旦脸黑做什么都是白搭,持续在线抽奖毫无意义,倒不如呼吸下新鲜空气,保持平常心态,说不定在某一天会收获到巨大的惊喜。

主机侦探来回答一下:
现在网上有很多可以测速的网站以及方法,可以通过用测试网站,路由追踪等方式也可以估算出服务器带宽大致结果,作为一个参考。主机侦探上就汇总了很多服务器的测试结果,感兴趣的话可以看下,比如Raksmart的。还有下载测试法也可以帮您了解的更清楚:
1这个方式的前提是你用来下载的PC端宽带要足够大(即是PC端的宽带至少要和服务器端带宽一样大)并且跟机房的通信质量良好,只有这样才能保证测试带宽的真实性。即使如此,在数据下载过程中也可能不足10M,因为需要经过若干路由,这中间对带宽有一定限制和损耗的,但损耗不大。
2 很多用户在测试带宽是选择单线程测试,单线肯定是测不出真实带宽大小的,用户就会误以为服务器带宽没有给足。那么该怎么正确测试服务器带宽呢?在服务器上传一个数据包,找不同地区的朋友下载数据进行多线程测试,把这些不同线程测试加起来才是真实的带宽情况。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/13211351.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-21
下一篇 2023-06-21

发表评论

登录后才能评论

评论列表(0条)

保存