LoadRunner:页游压力测试

一个简单的LoadRunner测试网页游戏压力流程性整理,在此做个备忘。


 

需求:测试页游戏WebGame的服务器承载能力、并发量

工具:Cacti、LoadRunner、Visual VM

Cacti:监测服务器的网络及负载

LoadRunner:压力测试脚本的编写及压力场景设计

VisualVM: JVM运行状态监控


Step1:为什么选择这样的工具

基于http+socket的连接请求,客户端as、服务器java

http+socke协议:选择LoadRunner11中的双协议[Web(HTTP/HTML))+Windows Sockets]

服务器java:VisualVM可直接监控JVM运行状态及分析JVM消耗的软件

Cacti:服务器环境搭建于linux的Centos


Step2:录制脚本

在LoadRunner11中使用双协议[Web(HTTP/HTML))+Windows Sockets]进行脚本录制,先录制一个角色的登陆

建议:

a:游戏的账号名与角色名保持一致,简化参数化的复杂度

b:第一次录制的时候,尽量简化在游戏中的操作(过多的操作只会生成过多的LR脚本,增加分析脚本的负担)

c:确定录制到脚本信息的有用性,不要存在有干扰的信息。若本机LR无法正常使用,可选择安装一台VM或者找一台纯净的机器进行

双协议选择可参考:http://www.cnblogs.com/s1099312273/archive/2013/05/31/3110878.html


 

Step3:调整脚本(参数化、精简)

针对上面录制的脚本,自己先多看几编,分析下客户端真实登陆流程。再与程序沟通,确定正确的登陆与验证流程。

需要解决的问题:

a:登陆时如果通过登陆服、游戏服验证

b:签名验证如何通过验证

c:分析并找出Action.c及data.ws中有可参数化的数据,如角色名,时间戳

d:删除不必要的脚本信息

本阶段需要与程序人员进行沟通,了解服务器验证流程。


Step4:回放脚本、场景创建

回放Step3中调整后的脚本,确保在Vuser Generator中可正常回放。

使用Controller创建并发,并创建对应的场景。如:每秒并发100人登陆持续30秒,2000人持续在线20小时等。

建议:

a:同一台机器不要登陆过多的游戏账号,最好分布到不同的机器上

b:每次在跟场景时,记录每次登陆时的时间与在游戏中的真实角色的操作感

c:及时查看每个场景中并发用户的运行情况

d:每次测试时,最好把服务器重启,保证不会存在内存数据,影响数据的准确性


Step5:最大承载、并发量

调整场景中数据,测试出服务器的最大并发量及最大承载量。

测试时适当的调整不同场景下的并发量,协调服务器的总负载。

得到当前服务器的最大承载、并发量


 

Step6:总结

分析出当前瓶颈,产出测试报告,制定下次测试的计划与目标。


 

That's all.

 

 

感觉程序部同学、测试部的兄弟们及网友:天空对我的帮助和支持。


<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值