基于协议应用的系统之性能测试方法讨论

发表于:2008-8-07 15:13

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:方耀 杨燕 兰海    来源:51Testing投稿

  摘 要: 在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软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们

51/512345>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • zhangtao
    2008-8-11 13:26:40

    是啊
    我的也是啊

  • hellen_ma
    2008-8-07 17:56:08

    为什么看到第5页,我的 ie css变样了来

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号