设置场景10人并发,通过10个保存的事物,但是只有5条数据进数据库了,这是为什么呢?
录制了一个添加保存数据的脚本,设置迭代后正常,如,设置10次迭代,能够添加10条数据,但是在场景中设置10人并发保存数据,之后进到数据库中的只有5条,有时只保存了4条数据到数据库中,并且事物数都通过了,在weblogc的控制台也没有发现报错,真是不明白为什么会这样,请大家指教一下,谢谢啦 回复 2# szyszy2000不太懂代码,用的就是lr自己产生的代码,里面没有sql语句啊,下面这个是lr产生的提交代码的语句,不知道怎么打印到日志里面,能不能请您说的详细一些呢,谢谢啦
web_custom_request("businessEdit.html_8",
"URL=http://oais.sinosig.com/esoaisapp/businessEdit.html?content.method=saveForm&businessName=preArchive&type=grid",
"Method=POST",
"Resource=0",
"RecContentType=text/html",
"Referer=http://oais.sinosig.com/esoaisapp/mainMenu.html",
"Snapshot=t280.inf",
"Mode=HTTP",
"EncType=application/x-www-form-urlencoded; charset=UTF-8",
"Body=fileNames=&filePaths=&fileType_files=&fileStates=&fileIsRenames=&ext-comp-1485=&fileName=&filePath=&fileType=&fileType_file=&file_isRename=&fileState=&content.currentpkg=-1&content.path={path4}&pkg.%E5%B9%B4%E5%BA%A6=2005&pkg.%E5%88%86%E7%B1%BB%E5%8F%B7=4&pkg.%E6%96%87%E4%BB%B6%E7%BC%96%E5%8F%B7=230100&pkg.%E6%96%87%E4%BB%B6%E9%A2%98%E5%90%8D="
"%E5%85%B3%E4%BA%8E%E5%8F%AC%E5%BC%80%E5%B9%B4%E4%BC%9A%E7%9A%84%E9%80%9A%E7%9F%A5%E6%96%87%E4%BB%B6&pkg.%E5%AF%86%E7%BA%A7=%E6%9C%BA%E5%AF%86&pkg.%E4%BF%9D%E7%AE%A1%E6%9C%9F%E9%99%90=30%E5%B9%B4&pkg.%E6%9C%BA%E6%9E%84%E9%83%A8%E9%97%A8%E5%90%8D%E7%A7%B0=%E4%BA%A7%E9%99%A9%E6%80%BB%E5%85%AC%E5%8F%B8&pkg.%E9%83%A8%E9%97%A8%E4%BB%A3%E5%8F%B7=%E6%9A%82%E6%97%A0%E9%83%A8%E9%97%A8%E4%BB%A3%E5%8F%B7%EF%BC%8C%E8%AF%B7%E8%81%94%E7%B3%BB%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86%E5%91%98%EF%BC%81&"
"pkg.%E4%B8%BB%E9%A2%98%E8%AF%8D=%E5%8F%AC%E5%BC%80%20%E5%B9%B4%E4%BC%9A%20%E9%80%9A%E7%9F%A5%20%E6%96%87%E4%BB%B6%20&pkg.%E7%AD%BE%E5%8F%91%E6%97%A5%E6%9C%9F=2011-12-29&pkg.%E4%BC%9A%E7%AD%BE%E9%83%A8%E9%97%A8=&pkg.%E9%A1%B5%E6%95%B0=36&pkg.%E6%89%BF%E5%8A%9E%E4%BA%BA=%E6%9D%8E%E9%9D%99&pkg.%E5%A4%87%E6%B3%A8=&pkg.%E6%A1%A3%E6%A1%88%E4%BB%A3%E7%A0%81=%E6%94%B6%E6%96%87&pkg.%E5%85%AC%E5%8F%B8%E5%90%8D%E7%A7%B0=%E9%A3%9E%E6%89%AC&pkg.%E5%AE%9E%E6%96%BD%E5%8F%8D%E9%A6%88%E4%BA%BA=&"
"pkg.%E5%88%9B%E5%BB%BA%E6%97%B6%E9%97%B4=&pkg.%E7%94%B3%E8%AF%B7%E4%BA%BA=",
LAST); 回复 2# szyszy2000
另外还有一个现象,就是我在场景里面不设置集合点,此时执行10人添加保存数据的场景,能通过全部的10个事物,并且成功添加到数据库10条数据,这样的话我是不是可以认为被测系统对并发添加保存数据的支持不好呀? 回复 4# szyszy2000
奥~,原来是这个意思!再次感谢!
我之前也在论坛上看到帖子说通过事物数和实际进库数据不一致的情况,那个帖子说可能是设置的进程或者线程启动的成功率的原因,但是我感觉不是这个原因,因为设置没有并发的时候,通过的事物数和实际进库数据时一致的,只是并发的时候不一致! 回复 4# szyszy2000
我按照你说的,让开发人员放开了sql语句插入的后台打印,实际看到的是10人并发添加时,后台只有5条sql语句执行成功的提示,没有失败的sql提示,这是什么原因呢? 呼唤szyszy2000 没有人来呀 难倒没有任何信息提供? 回复 10# szyszy2000
如果是这样,那么倒是印证了我之前的猜想:系统对并发的支持不是很好。不过并发的事物没有执行,lr也让这些事物通过了,看来这就是别人说的‘lr是不判断逻辑的’,而数据是要逻辑上通过才能进库的 本帖最后由 fenlantianji 于 2012-1-4 15:56 编辑
回复 11# mumu.ai
控制台是没有别的信息了,
我录制的脚本是用户登录之后,打开添加数据的模块,在里面添加数据的,测试的就是用户填写完数据,并发点击保存的情况,就是说在保存之前加了一个集合点,
在场景里面设置的是10个用户在集合点并发保存,结束之后再被测系统自己产生的日志里面看到有10条登录日志,也有10条打开添加数据的模块的模块访问日志,但是却只有5条添加保存数据的日志,在
weblogic控制台也是只有5条成功执行的sql插入语句,别的就没有啦 回复 12# szyszy2000
weblogic是13.5的版本,说是它的并发连接数是自适应的,不需要配置;数据源配置不知道怎么配的,但是觉得应该没有问题,因为不并发的情况下添加数据都是能够成功的,如果数据源配置的不对,应该会一条数据也添加不成功吧?这个不太懂,如果数据源配置和并发数也有关系,还请指教一下呀!
另外我让开发人员在点击添加的按钮的时候输出了一个打印语句,结果是所有的用户都能打印出这条语句,这说明10个虚拟用户可以执行到添加这一步,但是录入数据之后并发保存时就只有5个虚拟用户能够保存成功了,这样的话是不是就能说明并发保存的操作有问题? 又木有人了。。。。 顶一顶,希望有人能看到这帖子! 本帖最后由 fenlantianji 于 2012-1-5 10:42 编辑
回复 18# szyszy2000
连接数据库是开发人员写的一个配置文件,其中连接 Oracle 数据库连接的配置文件中的代码如下,我看里面写的最小时20,最大是150,这样的话应该是连接数没有问题吧?,最小20的话也大于我只能成功添加5条数据的量,这是为什么呢
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<!-- Oracle 数据库连接 -->
<property name="driverClass" >
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="jdbcUrl" >
<value>jdbc:oracle:thin:@10.10.168.10:1521:arcdb</value>
</property>
<property name="user" value="oais"/>
<property name="password" value="oais"/>
<property name="initialPoolSize" value="20"/>
<property name="minPoolSize" value="20"/>
<property name="maxPoolSize" value="150"/>
<property name="acquireIncrement" value="20"/>
<property name="acquireRetryAttempts" value="150"/>
<property name="acquireRetryDelay" value="1000"/>
<property name="autoCommitOnClose" value="false"/>
<property name="numHelperThreads" value="40"/>
<property name="idleConnectionTestPeriod" value="10"/>
<property name="maxIdleTime" value="60"/>
</bean> 我只是一个菜鸟,遇到问题的时候连分析的方向都找不到,别人还一个劲的管我要结果,好烦啊,心情很差,这的想逃离。。。 回复 20# fenlantianji
不能因为点点挫折就放弃。
LZ加油。 回复 21# mymagic
恩,谢谢鼓励,不过我已经停在这个问题上好几天了,一点进展也没有,他们又一直问我要结果,看来我只能选择跳过这个问题move on了 很明显是开发代码出了问题 , sql都没有插入成功怎么可能发挥成功信息呢? 我也是菜鸟,提一下自己的看法,感觉问题应该在系统本身,程序没有对插入数据失败做处理,没有捕获这方面的异常,开发应该查下是否有这个问题。另一方面,lr没有报错,就像你说的,lr不判断逻辑,你可以在录制的脚本里增加插入数据成功的检查点,这样插入失败,lr就会报错 你判断事务成功或失败的代码发上来看看
页:
[1]
2