51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

123
返回列表 发新帖
楼主: blue_flower
打印 上一主题 下一主题

[原创] 随着并发用户的增加,事务失败的数量也增加,但事务响应时间影响不大

[复制链接]
  • TA的每日心情
    慵懒
    1 小时前
  • 签到天数: 3587 天

    连续签到: 39 天

    [LV.Master]测试大本营

    41#
    发表于 2008-5-21 16:03:54 | 只看该作者
    你可以在运行的时候,看看内存占用。
    就是有一堆的mmdrv.exe,你看看每个用多少内存,估计一下就行了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    42#
     楼主| 发表于 2008-5-21 16:47:11 | 只看该作者

    回复 41# 的帖子

    谢谢!请问那一堆的mmdrv.exe在哪可以看到呢?
    ---在“系统进程”里看:)

    [ 本帖最后由 blue_flower 于 2008-5-28 09:49 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    43#
    发表于 2008-5-21 16:55:00 | 只看该作者
    一般我遇到这个问题都是先看看是不是参数化迭代那里出了问题。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    44#
    发表于 2008-5-21 17:08:09 | 只看该作者
    1G用户能支持多少用户不好说,你自己试一下。只要负载产生机不过载就行了,否则测出来的误差太大。一个虚拟用户占多数内存,归根到底取决于你业务的复杂程度和对内存的使用(after all, 虚拟用户就是一个线程/进程)。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    45#
     楼主| 发表于 2008-5-21 17:19:00 | 只看该作者
    负载产生机的可用内存基本上都还有13%左右,应该不算过载吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    46#
     楼主| 发表于 2008-5-21 17:22:10 | 只看该作者

    回复 43# 的帖子

    参数化迭代那里,我通过扩展日志来看,在回放时很正常.不过在场景中运行时它就好象总是同一个用户了,相同的用户名,很奇怪,不过用户ID是不同的.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    1 小时前
  • 签到天数: 3587 天

    连续签到: 39 天

    [LV.Master]测试大本营

    47#
    发表于 2008-5-22 11:25:33 | 只看该作者
    看系统进程啊,其实只要内存没有用光,启动再多的用户问题都不大。
    更多的瓶颈反而在网络上。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    48#
     楼主| 发表于 2008-5-22 12:41:33 | 只看该作者
    哦,内存很少用光了的。倒是经常有Error: Failed to connect to server "192.168.1.111:8899": [10060] Connection refused这类错误出现.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    49#
     楼主| 发表于 2008-5-22 14:26:53 | 只看该作者

    出错信息

    出错信息,如附件图所示。
    特别是第一个错误,以前都没见过的,不知道是什么

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    50#
     楼主| 发表于 2008-5-28 09:10:49 | 只看该作者
    随着并发用户的增加,事务成功率不高,但响应时间没有很大响应,经过分析,认为应该是数据库的SQL语句引起的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    51#
     楼主| 发表于 2008-5-28 09:13:03 | 只看该作者
    原帖由 blue_flower 于 2008-5-22 14:26 发表
    出错信息,如附件图所示。
    特别是第一个错误,以前都没见过的,不知道是什么

    我知道第一个是权限问题了(也是网上朋友帮忙的,谢谢)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    52#
     楼主| 发表于 2008-5-28 09:17:41 | 只看该作者
    这个问题得到了很多朋友的支持和帮忙,我非常感谢大家。虽然目前问题还没有完全解决,但从大家的解答中我得到了不少新的知识和看法,真的很感谢各位朋友!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    53#
    发表于 2011-5-11 15:11:28 | 只看该作者
    可以试试下边的方法:
    在负载生成器的注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters里,有如下两个键值:
    TcpTimedWaitDelay
    MaxUserPort
    1,这里的TcpTimedWaitDelay默认值应该中是30s,所以这里,把这个值调小为5s(按需要调整)。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    54#
    发表于 2011-5-11 15:52:40 | 只看该作者
    1、从100到600并发增加,但是响应时间却没有下降,是否说明在100之前系统的处理能力已经达到极限了呢?建议从10到100,10个加一次,步进式测试,观察tps和throughout曲线走势,加压到响应时间不动,吞吐量曲线趋于直线的那个点应该就是并发数极限了。
    2、加了检查点失败的反而变多,是否说明没有加检查点的时候运行的成功基本都是假的呢?建议http模式测试多使用这种模式写脚本,可能效果更加可信一些:
    1. lr_start_transaction("05 查询加人处理任务");

    2. web_reg_find("Text=待获取",
    3. "Fail=NotFound",
    4. "SaveCount=QueryTask",
    5. "Search=Body",
    6. LAST);

    7. web_reg_save_param("workTaskid",
    8. "LB=getWorkTask('",
    9. "RB=','",
    10. "Ord=1",
    11. "NotFound=ERROR",
    12. LAST);

    13. web_submit_data("searchQueueTask.do",
    14. "Action=http://XXXXX.com.cn:43026/XXXX/searchQueueTask.do",
    15. "Method=POST",
    16. "RecContentType=text/html",
    17. "Referer=http://XXXXX.com.cn:43026/XXXX/searchQueueTask.do",
    18. "Snapshot=t21.inf",
    19. "Mode=HTML",
    20. ITEMDATA,
    21. "Name=workTableConditionDTO.currentRole", "Value=pos_processing", ENDITEM,
    22. "Name=workTableConditionDTO.branchCode", "Value=G12", ENDITEM,
    23. "Name=workTableConditionDTO.startApplySeq", "Value=PA{applySeqNo}", ENDITEM,
    24. "Name=workTableConditionDTO.endApplySeq", "Value=PA{applySeqNo}", ENDITEM,
    25. "Name=workTableConditionDTO.policyNo", "Value={policyNo}", ENDITEM,
    26. "Name=workTableConditionDTO.applicantName", "Value={appName}", ENDITEM,
    27. "Name=workTableConditionDTO.taskPriorityTypeCode", "Value=", ENDITEM,
    28. "Name=workTableConditionDTO.startApplyDate", "Value=20081213", ENDITEM,
    29. "Name=workTableConditionDTO.endApplyDate", "Value={appReadyDate}", ENDITEM,
    30. "Name=workTableConditionDTO.barCode", "Value={barCode}", ENDITEM,
    31. "Name=workTableConditionDTO.difficultyTypeCode", "Value=", ENDITEM,
    32. LAST);

    33. if (atoi(lr_eval_string("{QueryTask}"))<=0)
    34. {
    35. lr_error_message("*=*=*=*=*=*=*=*=*=*=*=*=*=*查询加人处理任务 失败!*=*=*=*=*=*=*=*=*=*=*=*=*=*");
    36. lr_end_transaction("05 查询加人处理任务", LR_FAIL);
    37. }
    38. else
    39. {
    40. lr_end_transaction("05 查询加人处理任务", LR_PASS);
    41. lr_output_message("*=*=*=*=*=*=*=*=*=*=*=*=*=*查询加人处理任务 成功!*=*=*=*=*=*=*=*=*=*=*=*=*=*");
    42. lr_output_message("*=*=*=*=*=*=*=*=*=*=*=*=*=*查询到的任务ID workTaskid 为:%s", lr_eval_string("{workTaskid}"));
    43. }
    复制代码
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-9-21 11:21 , Processed in 0.077329 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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