51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5850|回复: 17
打印 上一主题 下一主题

[原创] 100用户并发,事务失败怎样理解呢?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-15 10:51:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如:
  100个并发用户, 同时发给服务器,
问题1: 服务器是一下子都处理完后,再返回给客户端的吗?
问题2:事务失败什么意思呢? 是这个100个并发都失败了,还是只是其中一个用户失败了?
     如果一个用户失败了,那就说明了服务器,是处理一个用户后,就返回给客户端对吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-4-15 13:39:37 | 只看该作者
Zee 帮给解释下?  
  谢谢了。。 这个问题,比较难啊?一般人不了解的。。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-4-15 14:57:57 | 只看该作者
我也遇到了一样的问题
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-4-15 15:13:30 | 只看该作者
从书上开来的
如果你的脚本跑100个都出错的话,那就是你的脚本有问题

我找下相关的资料在传上来,现在我也被问题撂着了。。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-4-15 15:32:28 | 只看该作者
系统处理的时候,都是一个一个处理的,其实不存在什么真是的并发处理
所以,你的脚本也是一个用户完事儿接着进行下一个的
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-4-15 15:42:46 | 只看该作者
4楼说的对
除非在脚本中添加了集合点,这样的话,才可以实现真正意义的完全一样的并发
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-4-16 13:24:35 | 只看该作者
我选择单协议录制脚本时,用IE,在controller里,事物都是失败的。选择多协议时,用IE,无法录制脚本,后来选择了theworld浏览器,可以录制脚本了,在执行场景时,事物能通过了。也不知道是什么原因!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-4-16 14:44:44 | 只看该作者
服务器收到100个并发请求后,都是一个一个的处理的.并不是一起处理的.只不过现在应用服务器端都是采用多线程的处理方式,所以可以处同时理用户的多个请求.严格意义上的并发并不存在,因为所有的用户请求在队列中是有先后顺序的.多个线程也得挨个从队列中取出请求并处理,最后返回结果给客户端.
事务失败是指某个VUSER运行脚本失败了,失败原因和很多因素有关,是针对某一VUSER而言的,不是针对100个用户
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2008-4-16 14:51:50 | 只看该作者

回复 5# 的帖子

是的.我是加了集合点的..
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2008-4-16 14:53:40 | 只看该作者

回复 8# 的帖子

那我想问下. . 对于这个并发事务来讲,  服务器处理过完数据后,也是一个用户一个用户返回他们请求的数据吗?
还是都处理完事了, 再给他们一下子都返回来呢?
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2008-4-16 15:06:53 | 只看该作者
并发有业务并发和服务器并发区别的
而我们要做性能测试要关注的是业务并发,也就是进入系统做业务的用户有多少。
而设置集合点是属于对服务器的并发,这一般是在并发测试的时候用。

对于业务并发,我觉得要和具体的场景联系起来,比如100个并发,如果1小时才进入系统1个,那也就谈不上业务的并发的。我觉得应该是自己跑的一个场景中,有100个用户进入到系统做操作。比如一个A业务,100个用户在进行(都进入系统前,没有完成退出的用户),如果能通过了就可以说XXX业务支持100并发,而不管是不是同时100人提交最后的入帐请求。

如果全部失败那应该是脚本有问题,如过是1,2个失败就要找原因。

以上个人一点看法,刚学习1个月,也不知说的是不是对的
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2008-4-16 17:21:02 | 只看该作者

回复 11# 的帖子

你前面讲的很好了.
  并发分两种: 业务并发与业务内的并发
但是我想知道,服务器处理100并发用户业务A, 是处理完一个用户后就返回给数据呢?还是处理完了100个用户后,再返回给客户端呢? 
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2008-4-16 20:27:21 | 只看该作者
处理完一个 就返回给客户端。

并发有粒度的纬度在里面。可以事务、也可以语句级别甚至指令级别的。

一般都是事务级别并发
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2008-4-16 20:49:36 | 只看该作者

回复 13# 的帖子

恩..谢谢了..
  顶一个...
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2008-4-16 22:28:22 | 只看该作者
只要服务器端成功处理完一个请求就返回结果给客户端.不是等待100个都处理完才返回给客户端.
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2008-4-17 10:06:25 | 只看该作者
我认为无论何种的失败,都应该去检查每个Vuser的Llog。
检查方法如下:
1。启动Controllor
  2。在设计界面, 选中你的Vuser脚本,
3。在右键菜单中选择运行时设置, 选择“始终发送消息”, 保存设置
4。运行场景
5。当脚本失败时,结束场景,回到设计界面
6。点Vuser,选中某个失败的VUSER,右键选择“显示Vuser日志”
就可以查找失败的原因了。我觉得找到原因,才是解决问题的办法。

如果日志不详细,就在脚本中多打几个log
回复 支持 反对

使用道具 举报

该用户从未签到

17#
 楼主| 发表于 2008-4-20 18:29:54 | 只看该作者

回复 17# 的帖子

这样也是个好的方法,感觉系统与LR开销是不是很大啊。
回复 支持 反对

使用道具 举报

该用户从未签到

18#
 楼主| 发表于 2008-4-20 18:32:05 | 只看该作者

回复 11# 的帖子

其实,个人感觉业务间的并发还是比较重要的, 其实业务内的并发,个人感觉还是不多的。。   少量的用户就可以的。  个人意见。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-14 12:56 , Processed in 0.080197 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表