精华内容
下载资源
问答
  • 一次压力测试Loadrunner经验分享 http://blog.csdn.net/lxlmj/article/category/553431 loadrunner测试socketstcpserver服务器 Action.c(4): Error -27796: Failed to connect to server "stadig.ifeng....

    一次压力测试Loadrunner经验分享  

    http://blog.csdn.net/lxlmj/article/category/553431

     

    loadrunner测试socketstcpserver服务器

     

    Action.c(4): Error -27796: Failed to connect to server "stadig.ifeng.com:80": [10048] Address already in use

    Try changing the registry value 

    HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/tcpip/Parameters/TcpTimedWaitDelay to 30

    and HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/tcpip/Parameters/MaxUserPort to 65534

    and rebooting the machine

    See the readme.doc file for more information

     

     

    压测目标是一个简单的js,服务器处理很快。LR压力测试遇到如上错误,跟据提示在注册表中已将TcpTimedWaitDelay  改为 1;MaxUserPort 改为 65534;并且重启电脑。运行后仍出现上面的错误。后来在 run-time setting/browser emulation中

    将simulate a new user on each iteration  选项去掉(默认是选中的)。重新运行一切正常,没有错误出现。

     

    猜测原因,客户端性能比较好,发出压力太快,所以把tcp/ip的连接或端口占满。在网上查了一下,xp好像默认开启15个tcp/ip

    去掉这个选项的意思是,始终使用一个tcp/ip链接,不断开,也就是开发人员所说的长链接或持久连接。    
    短连接:建立连接-----发送和接收报文1-------关闭连接
    长连接:建立连接-----发送和接收报文1.。。。2.。。。3-----关闭连接

    有大量ESTABLISHED 状态的TCP6连接,并且有若干TIME_WAIT的状态。

    端口占用大概在5W6以上。
    qatest@db-62:~$ netstat -an|wc -l
    56179

    而测试机端口数为:
    qatest@db-62:~$ cat /proc/sys/net/ipv4/ip_local_port_range
    8192 65535

    可见,端口基本被用尽。

    4. 问题解决

    1. 根据TCP/IP协议,连接断开之后,端口不会立刻被释放,而是处于TIME_WAIT状态,等待60s后(貌似/proc/sys/net/ipv4/tcp_fin_timeout配置),才会被释放掉,才能被新连接使用。
      而性能测试并发了3W连接,每个连接关闭后,grinder又迅速创建新的连接,这时已关闭的连接所占用的端口实际是TIME_WIAT状态,未被释放,不能为新的连接所使用,当所有的端口号均被占用之后,新建连接因为无法分配到端口号而失败。

    2. 修改tpc/ip协议配置,通过配置TCP_TW_REUSE参数,来释放TIME_WAIT状态的端口号给新连接使用
      /proc/sys/net/ipv4/tcp_tw_reuse
      (boolean, default: 0)

      Note: The tcp_tw_reuse setting is particularly useful in environments where numerous short connections are open and left in TIME_WAIT state, such as web servers. Reusing the sockets can be very effective in reducing server load.

    3. 同时修改   /proc/sys/net/ipv4/tcp_tw_recycle
      (boolean, default: 0) 

      TCP_TW_RECYCLE
      It enables fast recycling of TIME_WAIT sockets. The default value is 0 (disabled). The sysctl documentation incorrectly states the default as enabled. It can be changed to 1 (enabled) in many cases. Known to cause some issues with hoststated (load balancing and fail over) if enabled, should be used with caution.

      参考资料:
      http://www.speedguide.net/articles/linux-tweaking-121

    4. 设置参数后,重新测试,不再出现异常情况。

    5. 长连接服务器的性能测试中, 修改以上两个参数可以解决问题。但是在并发短连接情况下,还不足以解决问题。比如短连接10ms的情况下,仍然会出现端口号用尽的情况,这个需要修改TIME_WAIT时间,需要进一步调研。

     

    转载于:https://www.cnblogs.com/qmfsun/p/4610407.html

    展开全文
  • 压力测试LoadRunner使用

    千次阅读 2015-10-08 14:35:02
    性能测试包括:a) 验收性能测试 ...c) 压力测试:测试系统在一定饱和状态下,例如CPU、内存等在饱和使用情况下,系统能够处理会话的能力,以及系统是否会出现错误。——用于测试系统的稳定性。 d) 配置测试:通过配

    性能测试包括:

    a) 验收性能测试
    b) 负载测试:通过在被测系统上不断加压,可以了解系统的性能容量(系统在保证一定响应时间的情况下,能够允许多少并发用户的访问),或是用来配置性能调优,以比较调优前后的性能差异。
    c) 压力测试:测试系统在一定饱和状态下,例如CPU、内存等在饱和使用情况下,系统能够处理会话的能力,以及系统是否会出现错误。——用于测试系统的稳定性。
    d) 配置测试:通过配置系统软硬件环境,了解各种环境对系统性能的影响,从而找到系统各项资源的最优分配原则。一般在对系统性能状况有初步了解后进行。——用于性能调优,或评估如何调整才能实现系统的扩展性。
    e) 并发测试:可以检测系统中的内存泄漏、线程锁和资源征用方面的问题。并发测试主要关注的问题:

    内存问题

    • 是否有内存泄漏(C/C++)
    • 是否有太多的临时对象(Java)
    • 是否有太多的超过设计生命周期的对象(Java)

    数据库问题

    • 是否有数据库思索
    • 是否经常出现长事务
    • 是否出现线程/进程同步失败

    其他问题

    • 是否出现资源征用造成的死锁
    • 是否没有正确处理异常(如超时等)导致系统死锁

    f) 可靠性测试
    g) 失败回复测试
    系能测试工具包括两个方面:
    h) 服务端性能测试工具 LoadRunner、SilkPerformance等。这些工具需要支持产生压力和负载、录制和生成测试脚本、设置和部署场景,偏重于在在给应用系统一定压力的情况下观察应用系统的表现。
    i) 前段性能测试工具:Firebug、YSlow等,这些工具通过浏览洗的接口,在浏览器展现和处理Web页面时获得浏览器处理Web页面时的信息,以让开发者和测试者能够通过某些针对Web前端的改进,提高Web应用的前端系能。

    LoadRunner

    1、录制脚本:

    需要选择32位版本的ie浏览器,下载完整版后,需要进行破解

    1.1录制option
    1)Recordind标签:
    ①基于浏览器的应用程序推荐使用HTML-based script;
    ②不是基于浏览器的应用程序推荐使用URL-based script方式;
    ③如果基于浏览器的应用程序中包含JavaScript并且该脚本向服务器产生了请求,比如DataGrid的分页按钮等,也要使用URL-based方式录制。

    2、编辑脚本

    2.1可以选择不同的视图,script模式位代码视图,Tree模式位树形视图;
    2.2在Tree视图中,选择插入事务。
    Analysis应用会针对事务对Response Time进行统计,例如,脚本中有一个“查询”操作,为了明确知道“查询”操作所需要的响应时间,把这个操作定义为一个事务,这样在运行测试脚本的时候,LoadRunner运行到该事务的时候,会开始计时,知道运行到该事务的结束点,计时结束。
    必须插入一个事务,然后才能进行压力测试,对于未设置位事务的接口,loadrunner只负责跑一遍,并不会进行数据统计。调用Start Transaction 和End Transaction将接口包围。
    2.3 插入集合点
    插入集合点可以测试在加重负载情况下服务器的性能情况。 如果需要测试1000个并发,则LR会检查同事有多少用户运行到集合点,如果不到1000人,LR就会命令已经到集合点的用户等待,当在集合点的用户达到1000人时,LR会命令这1000个虚拟用户同时去提交数据,从而达到测试计划中的需求。

    2.4 插入函数
    1)控制脚本流程 if-else, while, for等
    2)字符串函数 strcmp,strcat(连接两个字符串),strcpy等
    3)输出函数(非常有用) lr_output_message():输出一条消息
    4)LR标准函数
    lr_eval_string() 得到参数当前的值
    lr_save_string() 把一个字符串保存到参数中
    2.5 插入Text/Image检查点
    在VuGen中插入Text/Image检查点,可以验证网页上是否存在指定的Text或Image,可以测试在比较打的压力测试环境中,被测的网站功能是否保持正确。

    3)对于接口测试,为了校验压力环境下接口的稳定性,需要对结果进行检查,可以使用web_reg_find函数,定义正确结果。如果失败,lr会纪录下来。

    3、运行测试

    3.1 Run-Time-Setting
    路径:录制面板中的菜单VuGen-> Run-Time-Setting
    1)Preference->Advance->No-critical resource errors as warning可以避免测试中出现一些图片或者js文件找不到页面而导致的测试失败
    2)Preference->Checks->Enable image and text check,如果需要对Text/Image进行检查,必须勾选。
    3)Miscellaneous->Error handling可以设置错误处理方法
    4)Miscellaneous->Multithread,选择以进程/线程的方式调度VuGen,默认线程,可以节省资源
    5)General->Run Logic可以控制脚本迭代的执行次数。除了能够指定Action部分的迭代次数外,Lr还允许用户通过逻辑组合的方式控制多个不同的Action部分的执行顺序和执行方式。可以插入一个Block,一个Block中可以放置多个Action,一个Block执行50次,其中随机选取一个Action进行执行。

    1)在Scenario Scripts(左上画布)
    中,选择 Run-time Settings for script,设置每一个虚拟用户请求次数(连续请求了十次www.360.cn网站)
    2)在Global Schedule中,选择Start Vusers编辑请求的虚拟用户数、虚拟用户触发周期(m个/n秒);选择Duration设置结束时间。
    3)在菜单栏中的Scenario->Load Generators中,设置发起压测的机器,本机的话name设置位127.0.0.1,点击connect进行连接。
    4)Scenario->Start,进行压测。

    展开全文
  • 压力测试LoadRunner(一)

    2010-01-04 17:11:29
    2008-03-06 17:43压力测试LoadRunner(一) 正确安装loadRunner8.0 安装完成后,启动起来先选择“Create/Edit Scripts”在脚本编辑器中先编辑 脚本。 编辑脚本的时候其实和VB里面的录制宏差不多。点了录制就开始...
    2008-03-06 17:43压力测试LoadRunner(一)
    正确安装loadRunner8.0
    安装完成后,启动起来先选择“Create/Edit Scripts”在脚本编辑器中先编辑
    脚本。
    编辑脚本的时候其实和VB里面的录制宏差不多。点了录制就开始操作,操作完成后点完成。
    脚本就录制好了。

    回放脚本的时候最好选择把窗口打开,这样看起来清楚些(我主要是测试WEB的。呵呵)
    Tools下面的General Options下面的Show browser during replay勾上就可以了

    针对一些脚本进行修改,可以在Help/Function Refrence中查到帮助

    当然一些常用的也记录下来
    lr_rendezvous("注册") 在注册动作前设立集合点

    lr_start_transaction("用户注册") 开始某一个业务过程

    lr_end_transaction("用户注册") 结束某一个业务过程
    展开全文
  • 我现在在做压力测试,在一个“XXX.do”转账交易,每次转账1元,添加了一个事物,然后10个用户,跑5分钟脚本, 最后显示该事物通过数为:10000,但实际转账金额却不到10000,请问这是什么原因,请大神赐教?????
  • 性能/压力测试LoadRunner操作步骤总结

    千次阅读 2018-04-13 11:58:08
    一、 LoadRunner的简介LoadRunner是一种预测系统行为和性能的负载测试工具,通过模拟实际用户的操作行为进行实时性能监测,来帮助测试人员更快的查找和发现问题。LoadRunner适用于各种体系架构,能支持广泛的协议和...

    一、        LoadRunner的简介

    LoadRunner是一种预测系统行为和性能的负载测试工具,通过模拟实际用户的操作行为进行实时性能监测,来帮助测试人员更快的查找和发现问题。LoadRunner适用于各种体系架构,能支持广泛的协议和技术,为测试提供特殊的解决方案。企业通过LoadRunner能最大限度地缩短测试时间,优化性能并加速应用系统的发布周期。

    参数化的作用是在进行场景执行的时候,每个不同的虚拟用户可以按照参数的读取策略读取到参数值,以模拟不同用户在提交或者读取不同的数据。

    每个用户在界面上读取和提交的信息都不太相同,因此一般都需要参数化。

    二、        LoadRunner组件

    序号

    名称

    功能

    1

    virtual user Generator
    虚拟用户生成器

    录制脚本,调试脚本

    2

    controller
    控制器

    设计场景,执行场景

    3

    Analysis
    分析器

    结果分析

     

    三、        Virtualuser Generator(虚拟用户生成器)基本操作流程

    →创建脚本 

    → 选择协议(问开发;抓包;protocoladvisor)

    →设置录制选项(应用类型b/s架构;浏览器IE&Firefox;输入url地址)

    →进行业务操作

    →生成脚本

    →回放脚本(迭代次数;日志级别(错误日志;标准日志;扩展日志))

    →优化脚本(1.事务lr_start_transaction(“   ”)事务头,lr_end_transaction(“”),  LR_AUTO事务尾;2.注释 单行注释//,多行注释/*_*/);3.参数化(写死-变化);4.关联函数;5.检查点;6.集合点;7.思考时间.

    1.      创建脚本

    创建脚本有3个地方,可以直接点击视图按钮,也可点菜单栏file下的new script进行新建脚本。

    2.      选择协议

    最常用的就是web(HTTP/HTML)协议,可以创建单个协议的脚本,也可以创建多条协议的脚本

    3.      设置录制选项

    设置引用类型选项:B/S:Internet Application , C/S:win32Application

    设置URL地址

     

    点击option设置其他选项,常见的录制是HTTP/HTML level:基于HTML的脚本和基于URL的脚本

    4.      进行业务操作

    开始录制,进行业务的操作等等,比如登录业务,录制完点击停止录制就完成录制(录制的时候注意多停留一会,等事件events不再增加时再停止,录制的更加完整一点)

    5.      生成脚本

    脚本自带三大事务:vuser_init , action, vuser_end

    6.      回放脚本

    回放脚本前可以设置:迭代次数和日志输出的级别

    7.      优化脚本

    注释:方便看代码,快速了解相关业务的内容和操作以防止忘记

     

     


     

    插入关联函数,是为解决业务流程前后存在的依赖关系

     

    插入思考时间,为了虚拟用户时更加真实,也为了给服务器适当减压


     

                       为什么要插入事务头事务尾?

    因为loadrunner要验证某个功能承受压力的能力, loadrunner要知道这个功能在哪儿,用事物来界定该功能在程序中的位置

     

    插入检查点,集合点,思考时间,检查点一般放在要检查的功能之前


     

    四、基本操作

    1.用树模式看脚本和回放

    脚本模式下看日志多而乱很难查看,但是树模式看都比较规范的显示出来,能快速定位

    2.自动关联函数


     

    优化后的代码,需要检查语法是否出错,再回放,可以快捷定位出错

    3.日志设置

    4.参数化

      



    5.迭代次数

    三、controller控制器

    1.进入控制器的3个方法

      


    2. 选择脚本文件的相关设置

     

    3.场景计划相关设置

     

    4.执行场景设置

    双击“Initalize”打开初始化设置,选择第一项:同时加载所有用户;选择第二项:设置每隔一段已设置好的时间就添加已设置好的用户个数;选择第三项:在运行前初始化每一个用户。

    双击“StarVusers”开始用户模式,其中第一个框输入要加载的用户个数;第一个单选:同时加载所有用户;第二个单选:每多少时间加载多少个用户

    双击“Duration”找开运行模式设置,选择第一项:运行直到结束;选择第二项:持续运行一段时间。

    双击“StopVuser”停止用户的模式,其中第一个框输入要停止运行的用户个数;第一个单选:同时停止运行所有用户;第二个单选:每多少时间停止运行多少个用户

    完成设计场景和执行场景设置后,开始执行了,点击design旁边的run





    5.分析场景结果




    图形合并:通常测试报告需要给出“虚拟用户—用户响应时间”的折线图,这个折线图可以通过合并报表的形式生成,过程如下:选中Average Transaction Response Time报表,单击菜单栏的View→Merge Graphs然后选择与Running Vuser图合并,生成的折线图即为“虚拟用户—用户响应时间”。

     


    输出报告




    展开全文
  • LoadrunnerloadRunner软件测试中使用LoadRunner进行数据集成软件的压力测试LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,...
  • 目的是使公司人员根据该手册便可以独立运用Loadrunner进行压力测试主题词:Loadrunner工具压力测试概要介绍LoadRunner是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发...
  • 论坛 测试资源交流区专用LoadRunner 压力测试实例摘要:本文通过实例讲解介绍了 LoadRunner 工具的使用,介于公司的实际情况,文中主要是对工具的基本使用做了详细描述,高级运用方面除性能计数器与参数设置外其它均...
  • 压力测试工具LoadRunner的使用
  • LoadRunner压力测试实例

    2009-03-25 10:37:35
    LoadRunner压力测试实例LoadRunner压力测试实例LoadRunner压力测试实例
  • LoadRunner性能测试脚本压力测试流程 LoadRunner12-Fildder-谷歌浏览器
  • LoadRunner压力测试笔记

    2017-05-09 21:23:42
    LoadRunner 压力测试笔记
  • 第二章使用LoadRunner进行负载/压力测试2.1本章概述LoadRunner是MI公司的自动化client/server性能测试工具。它施压于你的整个的应用程序,来隔离和识别潜在的客户端、网络、服务器瓶颈。它使你能在受控的和高峰负载...
  • LoadRunner 压力测试

    千次阅读 2015-03-19 18:09:30
    LoadRunner 压力测试
  • 以创建交易脚本为例,详细的解释一下使用LoadRunner进行压力测试的过程。关于如何定义测试目标及每个步骤详细的操作过程在操作手册中有解释,这里就不说了。一、使用VUGen录制脚本1、根据应用程序架构选择相应的协议...
  • LoadRunner 压力测试 报告 示例

    热门讨论 2010-02-03 18:14:36
    LoadRunner 压力测试 报告 示例 LoadRunner 压力测试 报告 示例 LoadRunner 压力测试 报告 示例 LoadRunner 压力测试 报告 示例 LoadRunner 压力测试 报告 示例
  • LoadRunner是一款非常强大的测试工具,本文为笔者在对LoadRunner有了初步了解后对WMS的压力测试过程,因为接触时间比较短,不对之处欢迎大家指出。由于Licence的原因,对WMS的测试只支持最多100个虚拟用户。下面就...
  • loadrunner压力测试APP

    2021-02-25 11:45:49
    APP的压力测试与WEB或TCP的略有不同,loadrunner录制网页非常方便,录制TCP直接写脚本即可,但APP录制必须使用代理(当然还可以自己写脚本,还可以安装模拟器)。我将我的服务器tomcat与loadrunner12都是放在一台...
  • Loadrunner压力测试

    2019-10-25 08:35:00
    Loadrunner压力测试 https://blog.csdn.net/fei20121106/article/details/44536789 安装包 https://www.cnblogs.com/jaazz/p/8668214.html
  • 目的是使公司人员根据该手册便可以独立运用Loadrunner进行压力测试主题词:Loadrunner工具压力测试概要介绍LoadRunner是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发...
  • 模拟Loadrunner 压力测试 程序 模拟Loadrunner 压力测试 程序模拟Loadrunner 压力测试 程序模拟Loadrunner 压力测试 程序
  • Loadrunner接口压力测试

    2018-06-26 16:00:53
    Loadrunner接口压力测试,通过调用接口,并通过对接口返回值的简单判断,来检查接口调用是否成功。
  • loadrunner压力测试实际项目案例,通过这个文档学习loadrunner的熟练使用,适合新手loadrunner压力测试实际项目案例,通过这个文档学习loadrunner的熟练使用,适合新手loadrunner压力测试实际项目案例,通过这个文档学习...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,087
精华内容 834
关键字:

压力测试loadrunner