木成舟 发表于 2008-5-22 16:50:31

LoadRunner 怎样测试GUI的3层系统

目前正在做一个项目,需要进行压力测试,望高人指点。
系统介绍:当前系统由客户端(由VB.Net开发的.exe安装的GUI操作界面,需要用户登录),中间层是WebService,主要以Http及SOAP协议(应用服务器是集群制),以及数据库(Oracle10g)。
压力测试目的:通过LoadRunner模拟200个真实用户登录客户端,进行一些场景操作,验证应用服务器及数据库服务器CPU及内存使用率,找出系统瓶颈。
测试工具:LoadRunner8.1(加FP4及Chinese Pack)(其他测试辅助工具可以由开发组开发)

如下的问题需要大家帮忙答疑:
1.选用协议是否用Windows Sockets?如果用Windows Sockets录制脚本,在Action中只看到lrs_send、lrs_receive等API函数,没有看到插入的事物,怎么进行参数化操作。
2.参数化操作是否分登录时用户参数化及登录后内容参数化?
3.想利用IP Wizard进行IP欺骗模拟一个用户使用一个IP登录(因为使用的计算机IP在数据库邦定)设置好IP Wizard,怎样在Controller中配合使用进行场景?
4.如当前有四个录制好的脚本,能否同时跑4个脚本(每个脚本50个用户)?
5.一台压力生成器大概只能跑10个Vuser(一个客户端大概50~70M,一台机器内存只有1G),怎样设置“用户代理”来达到200个用户进行施压?

在论坛逛了很久,没有见到类似系统的压力测试案例,非常希望高人们不吝赐教。

iori 发表于 2008-5-22 17:35:32

1.可以选择.net协议
2.参数化可以分别设置为登陆时的用户和登陆后的内容,根据需要
3.在controller中,选择scenario--enable ip spoofer
4.可以同时跑4个脚本
5.可以使用agent负载
希望高手共同探讨~~~!!!

木成舟 发表于 2008-5-23 16:17:21

谢谢指点,我先用你说的方法看看。

zealzpc 发表于 2008-5-23 19:07:54

觉的机器不够。。先用进线程跑。。在比较下进程和线程的换算比例。大约可以估算下数据。。还有觉得一个VUSER内存耗的比较厉害。。是不是可以把脚本简化。。删除不必要的脚本。。关注核心内容。

木成舟 发表于 2008-5-27 11:18:12

按照2楼的意见选择了Micosoft .Net 协议录制脚本后,Action中没有事物。
在回放脚本时遇到:
错误: Failed to compile virtual user.
通知: MSBUILD : error MSB1009: Project file does not exist.
通知: Switch: Script.sln
警告: 扩展 DotnetExtensionReplay.dll 报告在调用函数 ExtPerProcessInitialize 时出现错误 -1       
错误: 线程上下文: 调用驱动程序的服务失败。原因 – 线程上下文未在此线程上初始化。       
不知道是原因引起的?

木成舟 发表于 2008-5-27 20:09:42

今天查了一下资料,.Net协议只支持.Netframework 1.1 。我们的系统是基于.Net framework 2.0 。所以录制后Action中没有数据。

橙子 发表于 2008-6-13 15:13:37

用9.0录..NET协议,回放时还报类似错,,,帮帮忙

Error: Failed to compile virtual user.
Notify: __________________________________________________
Notify: Project "F:\lr\loginnet2\Script.sln" (Build target(s)):
Notify:
Notify: __________________________________________________
Notify: Project "F:\lr\loginnet2\Script.sln" is building "F:\lr\loginnet2\Script.vbproj" (default targets):
Notify:
Notify: F:\lr\loginnet2\Action.vb(288): error BC30182: Type expected.
Notify: F:\lr\loginnet2\Action.vb(3046): error BC30389: 'Abattoir.portal' is not accessible in this context because it is 'Private'.
Notify: F:\lr\loginnet2\Action.vb(4054): error BC30389: 'Abattoir.portal' is not accessible in this context because it is 'Private'.
Notify: F:\lr\loginnet2\globals.vb(76): error BC30182: Type expected.
Notify: F:\lr\loginnet2\globals.vb(644): error BC30389: 'Abattoir.portal' is not accessible in this context because it is 'Private'.
Notify: F:\lr\loginnet2\globals.vb(824): error BC30389: 'Abattoir.portal' is not accessible in this context because it is 'Private'.
Notify: Done building project "Script.vbproj" -- FAILED.
Warning: Extension DotnetExtensionReplay.dll reports error -1 on call to function ExtPerProcessInitialize       
Error: Thread Context: Call to service of the driver failed, reason - thread context wasn't initialized on this thread.       

木成舟 发表于 2008-7-23 16:31:48

现在使用.Net协议可以抓去到数据,但无法记录下登录时的用户名和密码,因此登录信息无法进行参数化设置。
用户管理采用Active Directory的域用户管理机制。不知道是不是域用户的原因。
页: [1]
查看完整版本: LoadRunner 怎样测试GUI的3层系统