superfang 发表于 2008-5-27 10:09:04

LR用户的问题

1.其实我一直不明白一个问题
比如我现在一个业务,用100个用户来并发...
我想知道的是,这100个用户是同时发出请求还是要等第一个用户请求结果了,再发第二个请求...
如果服务器没有对第一个用户做出响应,事务又是怎么来统计的呢?
2.一个业务,现在只是100个用户,来操作没有并发.
那么LR模拟真实的用户来操作, 第一个用户发出了请求后,第二个用户是不是在等到服务器对第一个用户做出了应答再来发出第二个请求...
如果不是这样的话.我们的事务的时间又怎么可以统计到呢?
3.场景一个业务,总的100用户无并发.
那么我想,每一秒只要求客户端执行10个用户呢? 我怎么来设置..如果服务器执行的很快, 在一秒中可能100用户会全部都会执行的...这样的话,怎么来控制呢?

[ 本帖最后由 Zee 于 2008-5-31 21:39 编辑 ]

iori 发表于 2008-5-28 10:36:58

1.100个用户同时并发,是同时发出请求,这样会产生一个队列
2.是的
3.你说的这个问题我觉得应该不存在

flying-kite 发表于 2008-5-29 10:16:48

呵呵,楼上都说的差不多了
用户同时发出请求,会产生一个队列,即使在一秒中100用户全部都执行,在服务端也会让这100个排成一个队列,按毫秒级时间来处理的(这就需要程序代码来控制了)。可以通过Extend log来查看每个用户发出请求到服务段的具体过程

flying-kite 发表于 2008-5-29 20:19:51

LR的并发属于服务端并发?不可能,LR只能模拟客户端发出请求,然后等待服务端响应,中间的过程它哪能管得上

superfang 发表于 2008-5-31 21:06:01

回复 2# 的帖子

第三个场景可以实现的。。
我现在设置了100用户 , 但是我的pacing 设置成10秒,就可以的。。每一秒用户数量是10个的。。理想情况下。。一般都是9个左右吧。。

Zee 发表于 2008-5-31 21:34:58

1. 显然如楼上所说,并发就是一起来做的,并不等前一用户结束再运行第二个用户。这是不同的进程或线程来处理的,所以不用担心某线程的用户得不到处理而影响其他用户。
事务的时间统计,是开始和结束断点来统计的。然后画成曲线。

2.先理解第一个,第二个问题就要重新问了。

3. 你要控制时间不太好控制。你是说第二秒启动了另外的10个用户后,第一秒启动的用户还在运行吗?如果是这样,可以做到。
如果你要控制1s就有10个用户在运行,而第二秒不管上面的用户执行完了没有都开始的话,你可以在run time setting里设置。不过这样,你的用户数就应该是10个了。

superfang 发表于 2008-6-4 17:49:07

回复 7# 的帖子

我想问下
比如:现在一个场景叫用户数是100, pacing取第一个选项, 我想问下,他是不是第一个用户运行完了,再发第二个请求...
那么我们现在的 pacing 设置与事务的响应时间有没有什么关系?
我现在遇到一个问题:   
场景 :                            pacing 选择第三个设置为: 1 S
                                        用户数量是: 10
结果:   每一秒有10个TPS,但是事务的响应时间一般都在 1 S 开外, 我用的是内络.. 网络时间几乎为0 .... 但是就是 receive time 时间比较长的.所以感觉是服务器的问题, 按大家上面说的,第二个用户等第一个用户作出响应了,再发第二个请求.,..
那这样不是自相矛盾了吗? 按照pacing设置,理想的时间第一个事务的响应时间小于: 0.1秒才对啊....
但是现在是响应为: 1S 左右..... 怎么解释呢??
    我感觉LR这个地方?却是让人感到不明白啊..... 请高手赐教下....

[ 本帖最后由 superfang 于 2008-6-4 17:50 编辑 ]

Zee 发表于 2008-6-4 19:11:52

默认情况下,LR模拟用户是一个进程中有五十个线程来模拟用户。在这种情况下,每一个线程模拟一个用户。pacing就是在一个单独的线程中,迭代之间的间隔。举例说:
总共50个用户,Pacing是一个用户在第一次迭代完成和第二次迭代开始之间的间隔。而不是第一个用户和第二个用户之间的间隔。
所以这个时间不会计算到响应时间内。所以响应时间长,不会是因为这个原因。

superfang 发表于 2008-6-4 23:02:06

回复 9# 的帖子

而不是第一个用户和第二个用户之间的间隔。
1。这个是什么意思?还是不太明白。
2。我还是想问下,如果LR是按照第一个用户发出请求,第二个用户等第一个用户作出了应答后,再发出请求理解的话。我们这个叫压力测试吗??这不就是个容量的测试吗?看看服务器可以承受多大的压力吗?
页: [1]
查看完整版本: LR用户的问题