c/s架构,用loadrunner多用户并发测试选择什么协议?
c/s架构,用c++编写的客户端,中间数据服务器,后台oracle数据库,想用loadrunner测试多用户并发情况,在选择协议上很清楚,请教一下,多谢了。 选你lisence里面vusers最多的那个协议.然后写dll封装业务逻辑.
Loadrunner如何选择协议
Loadrunner如何选择协议Loadruner协议选择原理:
网络协议是计算机之间沟通交流的“语言”,计算机都是通过“语言”来说话的,LoadRunner要知道计算机之间说什么,它只需派出一个翻译间谍(Vuser)监听计算机的对话就可以了,听完了,还要记下来生成脚本,这样做就OK了。但是很遗憾,这个世界上不是只有一门语言,不仅有汉语,还有英语、法语等几十种语言,计算机也面临这种问题,“语言”(网络协议)有上百种,不同的计算机之间用不同的语言说话,甚至方言也都有(增强协议),在这种情况下,我们可怜的LoadRunner只好增加人手,培养不同语言的翻译人才(Loadrunner Protocol),如果计算机是用A语言说话,LoadRunner就要派出A语言翻译,如果计算机用B语言说话,LoadRunner就要派出B语言翻译,这样问题就能得到解决了。但同时也要注意的是,一定不要派错了翻译(选错了Protocol类型),如果计算机用A语言,而LoadRunner派出B语言翻译,毫无悬念,LoadRunner要为自己的错误负责,可怜的B翻译将会什么也听不懂,交了白卷。
Loadrunner协议选择定律:
选择第一定律:以客户端和其直接连接的Server通信方式为准。
因为LoadRunner的Vuser模拟的是客户端,所以Vuser和真实的客户端一样,和离它最近的Server打交道,而和整个系统的功能无关。比如一个Web Mail系统,虽然它是实现了Mail的功能,但作为Client端的IE直接连接的是Web Server而不是Mail Server,在这种情况下我们只考虑IE和Web Server的通信方式,也就是HTTP协议。
选择第二定律:匹配原则由高协议到低协议。
确定了被测系统的网络协议后,选择LoadRunner Vuser应该以实际网络协议匹配为佳,如不能匹配,LoadRunner Vuser则降一个协议层次再次匹配。
比如,我们如果碰到一个网络应用,其采用的应用协议比较独特,在LoadRunner里没有找到合适的协议,那么我们就降低一个层次,用Winsock来录制,那是肯定没有问题的。因为几乎所有的网络传输中都是基于TCP协议或UDP协议的,而Socket协议正是这一级上的协议。但是由于Socket协议级别太低,你录下来的东西是很难理解的,都是Socket、Port、Data之类的东西。所以,尽量用高层协议来录制,我们就能看懂了。
以上节选于《性能测试从零开始-loadrunner入门》
-------------------------------------------------------------
协议参考选择:
LR的录制工作原理,LR跟WR不一样,它不关心你的对象识别什么,不关心你的什么窗口之类的,LR有一个Agent的进程,来专门监控客户端与服务器之间的通信,然后用自己的函数进行录制,所以说,LR录制的时候关心的是通信,是客户端与服务器之间的数据包。说到这里,大家就比较清楚了,为什么有的时候不能录制呢?因为,协议不认识阿,导致LR截获的数据包不能解析,所以录制下来是空的。到这里看来,我们怎么样选择协议呢?当然原则就是说,你的数据包的通信协议能被LR 识别。
过去流行的一种看法是,只要B/S结构的都是选择http协议,如果不是B/S 结构的那肯定是socket, 其实这种说法比较片面,我觉得要真正理解这个问题,必须搞杏出你所测系统的数据流采用什么协议包装的,这个我个人觉得,最好是能去向开发人员多理解这个问题,多学习。
协议参考选择:
应用类型 协议选择
1,web 网站Http/HTML
2, FTP 服务器 FTP
3, 邮件服务器 IMAP, POP3, SMTP
4, C/S (第一种)客户端 以ADO, OLEDB方法连接后台数据库 MSSQL Server, Oracle, Sybase, DB2, Infirmix
C/S (第二种) 客户端以ODBC方法廉洁后台数据库 ODBC
C/S (第三种) 没有后台数据库 Socket
5, ERP系统 SAP Peoplesoft
6, 分布式组件COM/DACOM EJB
7, 无线应用 WAPPALM
总之,只有充分理解被被测系统的应用类型和技术架构,才能做出正确的选择。
以上内容为摘抄,觉得写的不错,就摘下来自己收藏。
回复 4# 的帖子
我的也是C#开发的,数据库是ACCESS;我选择SOCKET协议,登录后,也是录制不到脚本,事件还是0;LR8.1没有上面的ADL协议;
后来我选择ODBC协议还是不行 回复 5# 苏高跃
那你是怎么解决的呢?
页:
[1]