摘 要: 在LOADRUNNER中使用脚本和IP欺骗对系统进行性能测试
关键词:LOADRUNNER IP欺骗 协议
出 处: 广东亿迅科技有限公司 质量管理部
一、 前言
在当前信息技术的高速发展中,特别是诸如电信、金融、银行、保险等领域,对于这些领域的信息化支撑,都离不开大型系统、数据库、中间件等软件产品的支持。在这些软件产品中,对数据的采集、读取、储存等,都有严格的时效性要求。而这些软件产品之间都是通过某种特定的协议进行交互的,如TCP、UDP、HTTP等,为了满足特定的时效性,我们通常都要对这些软件产品的应用、通讯等进行性能测试,以期发现问题并解决问题。
本文使用常用的性能测试工具LOADRUNNER和解包工具Ethereal,讨论基于协议应用的系统性能测试的方法,希望能抛砖引玉,寻找出更新更好的方法。
二、 任务引入
某大型系统(以下称N系统)应用到IBM MQ中间件,但MQ支持持久化和非持久化两种方式的信息传递,为了验证N系统在MQ的持久化和非持久化两种方式下的性能表现(持久化指接收消息并保存到本地,即使MQ非法中断,MQ重启后,消息依然存在;非持久化指接收消息不保存在本地,只负责接收,如果MQ非法中断,MQ重启后,消息丢失),需要做性能测试。
N系统的部分模块流程图如下:
模块A接收从客户处发来的包,经过处理,送入MQ消息中间件中,然后模块B再从MQ中读取。整个系统需要承载的用户量是千万级的,而且在逐年增加,同时对这个性能测试也需要注意1点:需要模拟大量的并发用户发包,对模块A产生压力(由于业务的特殊性,模块A对同一个IP的请求时间间隔是有限制的,但对于不同的IP,请求一样也可以);
1. 测试分析
由于开源的客户端工具不支持多并发发包,同时,不可能部署n个客户端,所以必
须使用Loadrunner来进行施压,同时,要使用Loadrunner的IP欺骗来模拟不同ip的客户端;
对于客户端而言,发送的包是通用的文本方式,但对于Loadrunner而言,发送的
包是要经过处理的双字节16进制数据。所以要先在服务器上抓包,然后用Ethereal工具分析,再截取出协议包体。
然后用Loadrunner的winsocket协议来发送定制好的包。
2. 测试实施
2.1 抓包
1、用root用户登录后台系统服务器,执行:
snoop -c 500 -s 1500 -o test.pkt
【说明:-c 表示抓取包的个数;-s 表示包的大小;-o 表示输出的文件】
2、此时切换到另一个窗口,用客户端发送包;
3、将服务器上的test.pkt下载到本地;
2.2 分析包
1、使用ethereal打开“test.pkt”;
2、点击“ Source”,找到刚才客户端10.17.34.219发出的request:
3、选择“Decode AS”
选择“RADIUS”。
4、显示出抓到的这个包的detail:
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们。