51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 9408|回复: 25
打印 上一主题 下一主题

[求助] 设置场景10人并发,通过10个保存的事物,但是只有5条数据进数据库了,这是为什么呢?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-1-4 10:28:10 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
录制了一个添加保存数据的脚本,设置迭代后正常,如,设置10次迭代,能够添加10条数据,但是在场景中设置10人并发保存数据,之后进到数据库中的只有5条,有时只保存了4条数据到数据库中,并且事物数都通过了,在weblogc的控制台也没有发现报错,真是不明白为什么会这样,请大家指教一下,谢谢啦
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

26#
发表于 2012-10-11 15:42:21 | 只看该作者
回复 31# fenlantianji

    我们看成功率是不是还是要看实际通过的事务数,而不是单纯的lr显示的成功事务数,比如lr显示成功了1000个事务(没有失败的事务),但实际只成功了100个事务(真正进入数据库的事务),那么成功率其实是10%。这样的话是不是就可以判断软件的并发支持不好(其它因素如果都确认没问题)
回复 支持 反对

使用道具 举报

该用户从未签到

25#
 楼主| 发表于 2012-10-8 14:11:29 | 只看该作者
回复 29# zhaolinglei


    就是说lr只要检测到有服务器有返回,就认为事物通过了,想你说的这种情况,加上检查点就行了(不过检查点要加好才行啊)
回复 支持 反对

使用道具 举报

该用户从未签到

24#
 楼主| 发表于 2012-10-8 14:10:02 | 只看该作者
今天逛论坛,看到偶很久之前发的这个帖子,现在想想,其实根本不用有这个困扰,对事物加上检查点就行了,就能保证事物成功数和入库数一致了,不加检查点是不行的
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2012-9-20 10:24:59 | 只看该作者
回复 13# fenlantianji
您这句能再深入解释一下吗,lr不判断逻辑是什么意思,我也遇到这个问题了,成功的事物数与写入数据库的不一致,差很多
回复 支持 反对

使用道具 举报

该用户从未签到

22#
 楼主| 发表于 2012-1-11 16:23:09 | 只看该作者
感谢大家回答我的这个帖子,目前对这个项目的性能测试已经做完了,不过这个问题还是没有找出原因,我把这个问题归为程序对并发保存数据的支持不好,接下来开发人员会参与解决这个问题,他们解决的时候我再参与试着找找原因吧,其实觉得szyszy2000 说的挺对的,需要逐步缩小范围,找出原因。其实想想,问题应该也就是3个方面,脚本有问题、服务器配置有问题、程序有问题,一步一步来吧!
回复 支持 反对

使用道具 举报

该用户从未签到

21#
发表于 2012-1-11 09:23:15 | 只看该作者
回复 1# fenlantianji

提单,并发的时候有失败,最多支持5个并发,多个这个数就失败了。
是缺陷
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2012-1-10 11:31:54 | 只看该作者
你判断事务成功或失败的代码发上来看看
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2012-1-10 10:53:08 | 只看该作者
我也是菜鸟,提一下自己的看法,感觉问题应该在系统本身,程序没有对插入数据失败做处理,没有捕获这方面的异常,开发应该查下是否有这个问题。另一方面,lr没有报错,就像你说的,lr不判断逻辑,你可以在录制的脚本里增加插入数据成功的检查点,这样插入失败,lr就会报错
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2012-1-9 10:28:33 | 只看该作者
很明显是开发代码出了问题 , sql都没有插入成功怎么可能发挥成功信息呢?
回复 支持 反对

使用道具 举报

该用户从未签到

17#
 楼主| 发表于 2012-1-5 11:35:51 | 只看该作者
回复 21# mymagic


    恩,谢谢鼓励,不过我已经停在这个问题上好几天了,一点进展也没有,他们又一直问我要结果,看来我只能选择跳过这个问题move on了
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2014-10-16 09:54
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    16#
    发表于 2012-1-5 11:29:39 | 只看该作者
    回复 20# fenlantianji


        不能因为点点挫折就放弃。
    LZ加油。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
     楼主| 发表于 2012-1-5 11:16:40 | 只看该作者
    我只是一个菜鸟,遇到问题的时候连分析的方向都找不到,别人还一个劲的管我要结果,好烦啊,心情很差,这的想逃离。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
     楼主| 发表于 2012-1-5 10:40:57 | 只看该作者
    [i=s] 本帖最后由 fenlantianji 于 2012-1-5 10:42 编辑 [/i]

    [b]回复 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=2356210&ptid=526172]18#[/url] [i]szyszy2000[/i] [/b]

    连接数据库是开发人员写的一个配置文件,其中连接 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>
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
     楼主| 发表于 2012-1-4 17:38:03 | 只看该作者
    顶一顶,希望有人能看到这帖子!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2012-1-4 17:36:59 | 只看该作者
    又木有人了。。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2012-1-4 16:54:58 | 只看该作者
    回复 12# szyszy2000


        weblogic是13.5的版本,说是它的并发连接数是自适应的,不需要配置;数据源配置不知道怎么配的,但是觉得应该没有问题,因为不并发的情况下添加数据都是能够成功的,如果数据源配置的不对,应该会一条数据也添加不成功吧?这个不太懂,如果数据源配置和并发数也有关系,还请指教一下呀!
       另外我让开发人员在点击添加的按钮的时候输出了一个打印语句,结果是所有的用户都能打印出这条语句,这说明10个虚拟用户可以执行到添加这一步,但是录入数据之后并发保存时就只有5个虚拟用户能够保存成功了,这样的话是不是就能说明并发保存的操作有问题?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2012-1-4 15:54:30 | 只看该作者
    本帖最后由 fenlantianji 于 2012-1-4 15:56 编辑

    回复 11# mumu.ai


        控制台是没有别的信息了,
    我录制的脚本是用户登录之后,打开添加数据的模块,在里面添加数据的,测试的就是用户填写完数据,并发点击保存的情况,就是说在保存之前加了一个集合点,
    在场景里面设置的是10个用户在集合点并发保存,结束之后再被测系统自己产生的日志里面看到有10条登录日志,也有10条打开添加数据的模块的模块访问日志,但是却只有5条添加保存数据的日志,在
    weblogic控制台也是只有5条成功执行的sql插入语句,别的就没有啦
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2012-1-4 15:48:11 | 只看该作者
    回复 10# szyszy2000


        如果是这样,那么倒是印证了我之前的猜想:系统对并发的支持不是很好。不过并发的事物没有执行,lr也让这些事物通过了,看来这就是别人说的‘lr是不判断逻辑的’,而数据是要逻辑上通过才能进库的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2012-1-4 15:27:23 | 只看该作者
    难倒没有任何信息提供?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-9 09:24 , Processed in 0.088063 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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