为质量而战!为胜利而战!

发布新日志

  • Loadrunner中的点击率hits per second

    2009-06-16 09:37:07

    The Hits per Secondis the number of HTTP requests made by Vusers to the Web server during each second of the scenario run

    点击率:不是按照用户的鼠标点击次数计算,而是按照客户端向服务器发起了多少次请求计算。
    例如,在访问一次页面中,假设页面里面包含3个图片,那么用户点击一次就可以访问该页面,点击量为1+3=4

  • 监控命令vmstat的使用(AIX系统)

    2009-03-02 16:07:39

    -----------命令使用------------------------------

    vmstat 3
    每3秒采集一次数据

    ------------性能问题表现----------------------------

    内存不足:pi,po长期不等于0
    cpu负载大:id经常小于20,r经常大于4
    IO性能不好:b中的队列大于3

    ------------参数解释--------------------------------

    kthr
    r--在运行队列中等待的进程数
    b--在等待io的进程数

    memoy
    avm--
    free--空闲的内存(k表示)

    page
    re--回收的页面
    pi--进入页面数(k表示)
    po--出页面数(k表示)
    fr--空余的页面数(k表示)
    sr--通过时钟算法扫描的页面


    faults 显示每秒的中断数
    in--设备中断
    sy--系统中断
    cy--cpu交换

    cpu
    cs--用户进程使用的时间
    sy--系统进程使用的时间
    id--cpu空闲的时间

  • TCP/IP

    2008-06-13 16:04:20

        TCP/IP(Transmission Control Protocol/Internet Protocol的简写,中文译名为传输控制协议/互联网络协议)协议是一种应用最为广泛的网络通信协议,也是Internet的标准连接协议。

        准确的说TCP/IP协议是一个协议组(协议集合),其中包括了TCP协议和IP协议以及其他一些协议。

     四层模型    
     应用层

    HTTP(超文本传输协议)

    FTP(文件传输协议)

    SMTP(电子邮件传输协议)

    DNS(域名解析协议)

    Telnet(远程登录协议)

     
     传输层

    TCP(传输控制协议)

    UDP(用户数据报协议)

    为两个用户进程(程序)之间建立、管理和拆除可靠而又有效的端到端连接的协议

    即负责起点到终点的通信

     互联层(网络层)

    网际协议IP

    地址解析协议ARP

    网际控制消息协议ICMP

    互联组管理协议IGMP

     
     网络接口层    负责数据帧的发送和接收

  • HttpWatch---可获取“查看源文件”无法获取的HTML

    2008-05-26 00:09:54

    Record->Stop->Find
  • LoadRunner关联3---mspetshop中判断注册用户是否成功

    2008-05-25 23:47:56

    部分脚本如下

    1.查找注册成功的信息

    web_reg_find("Search=Body",
      "SaveCount=num",
      "Text=Thank you for signing up.",
      LAST);


     lr_start_transaction("reg");

    2.通过判断来确认注册是否成功

    if(strcmp(lr_eval_string("{num}"),"1")==0)
      lr_end_transaction("reg", LR_PASS);//注册成功
     else
      lr_end_transaction("reg", LR_FAIL);

  • LoadRunner关联2---mspetshop中Default.aspx的菜单链接

    2008-05-25 16:51:19

    脚本如下:

    Action()
    {
     web_reg_save_param("link",
      "LB=\">",
      "RB=</a><input",
      "Ord=all",
      "SaveOffset=1",//从第二位开始取值
      "SaveLen=3",//连续取3位
      LAST);

     web_url("Default.aspx",
      "URL=http://localhost:82/mspetshop/Default.aspx",
      LAST);

     return 0;
    }

    结果如下:

    Action.c(20): Notify: Saving Parameter "link_1 = ird"
    Action.c(20): Notify: Saving Parameter "link_2 = ugs"
    Action.c(20): Notify: Saving Parameter "link_3 = ack"
    Action.c(20): Notify: Saving Parameter "link_4 = nda"
    Action.c(20): Notify: Saving Parameter "link_5 = ish"

     

  • LoadRunner关联1---mspetshop中Default.aspx的菜单链接

    2008-05-25 16:26:53

    脚本如下:

    Action()
    {
     web_reg_save_param("menu_link",
      "LB=\">",
      "RB=</a><input",
      "Ord=all",
      "Search=All",
      LAST);

     web_url("Default.aspx",
      "URL=http://localhost:82/mspetshop/Default.aspx",
      LAST);

      lr_output_message(lr_eval_string("{menu_link_1}"));
      lr_output_message(lr_eval_string("{menu_link_count}"));

     return 0;
    }

    结果如下:

    Action.c(10): Notify: Saving Parameter "menu_link_1 = Birds"
    Action.c(10): Notify: Saving Parameter "menu_link_2 = Bugs"
    Action.c(10): Notify: Saving Parameter "menu_link_3 = Backyard"
    Action.c(10): Notify: Saving Parameter "menu_link_4 = Endangered"
    Action.c(10): Notify: Saving Parameter "menu_link_5 = Fish"

    Action.c(10): Notify: Saving Parameter "menu_link_count = 5"

    Action.c(14): Notify: Parameter Substitution: parameter "menu_link_1" =  "Birds"

    Action.c(15): Notify: Parameter Substitution: parameter "menu_link_count" =  "5"

  • LoadRunner参数例子---创建Account时,随机添加1-5个电子邮件

    2008-05-21 21:15:01

    注意:可根据为空时来添加不同数量
  • LoadRunner参数例子---100个用户同时登录后,同时创建用户

    2008-05-21 21:04:44

    username参数

     select next row  Unique
     update valid on  Each iteration
     when out of values continue with last value
     allocate  1

     

    userpwd参数

    same as username

     

    再通过controllor

     

  • LoadRunner参数例子---一个用户登录后,创建200个用户

    2008-05-21 20:54:38

    分析:先录制登录并创建用户的脚本,把登录作为Action_loin,放在Init内部,把创建用户作为Action_addusers,放在Run内部,设置Run为Run(*200)。

    注意:Block与Run的区别

  • LoadRunner中参数设置---sequential、Random和Unique

    2008-05-21 20:09:47

    Each iteration每次迭代更新

    Each Occurence每次取值更新

    Once只取第一个值

    已知脚本如下:

    Action()
    {
     lr_eval_string("{param}");
     lr_eval_string("{param}");
     return 0;
    }

    参数param的值如下:

       param
     1  甲
     2  乙
     3  丙
     4  丁

    当迭代三次,即run(*3),且select next row=Sequential,则有如下对应结果:

     Update value on  结果
     Each iteration  甲,甲;乙,乙;丙,丙
     Each Occurence  甲,乙;丙,丁;甲,乙
     Once  甲,甲;甲,甲;甲,甲;

    当迭代一次,即run(*1),且select next row=Random,则有如下对应结果:

     Update value on  结果
     Each iteration  同一个值
     Each Occurence  不同值
     Once  同一个值

    当迭代五次次,即run(*5),且select next row=Unique,则对应结果又是如何呢?

     

  • HTTP协议

    2008-05-17 12:11:37

    全称:Hypertext Transfer Protocol

    工作方式:请求(客户端)<---->应答(服务器端)

    总是通过客户端建立连接并发送HTTP请求的方式初始化

    浏览器和服务器都可以随时中断连接

    由三部份组成:

    方法-URI-协议/版本、请求头和请求正文

     浏览器发请求  Web服务器应答 

     GET

    Accept

    Accept Language

    Connection

    Host

    Referer

    User-Agent

    Content-Length

    Content-Type

    Accept-Encoding

    HTTP/1.1 200 OK

    Server:Microsoft-IE/4.0

    Date:

    Content-Type:Text/Html

    Last Modified:

    Content-Length=112

     

    <html>

    <head>

    <title>HTTP示例</title>

    </head>

    <body>Hello HTTP!</body>

    </html>

    注:

    URI-Uniform Resource Identifier

    URL-Uniform Resource Locator

    URN-Uniform Resource Name

    URL和URN是URI的子集

  • OSI七层模型

    2008-05-17 10:49:47

       层  有什么硬件?  有什么协议?
     第七层  应用层

    FTP、SMTP、DNS

    Telnet、SNMP

     第六层  表示层  
     第五层  会话层  
     第四层  传输层  TCP、UDP
     第三层  网络层  路由器Router  IP
     第二层  数据链路层  交换机Switch  
     第一层  物理层  集线器Hub  

     

     

     

     

  • 影响性能的因素

    2008-04-29 10:08:40

    一、服务器

    硬件配置

    软件配置(系统、应用服务器和数据库配置)

    二、网络

    网络延迟

    三、程序

    SQL语句、存储过程

    算法

    业务的程序实现

     

  • 性能测试的相关指标

    2008-04-29 10:00:45

    软件测试的三大指标

    (1)响应时间--关系到事务

    系统的处理效率

    (2)吞吐量--VUsers

    系统的处理能力

    (3)资源占用率--接口调用

    反映系统的消耗

    另外:

    (1)Web服务器上的指标

    平均每秒钟响应次数

    平均响应时间/最大响应时间/最小响应时间

    成功的总点击数/失败的总点击数

    每秒点击数/每秒成功的点击次数/每秒失败的点击次数

    成功的请求/失败的请求

    (2)数据库服务器性能指标

    用户连接数

    (3)通用指标

    CPU占用

    可用内存数

    物理磁盘读写时间

     

     

     

  • 性能测试分类

    2008-04-29 09:44:25

    按测试的目的划分:

    (1)Load Testing 负载测试(大量用户->极限->失效点)

    在一定的硬件及网络环境下,模拟大量的用户,处理大量的数据,使系统长时间在极限状态下运行,目的在于寻找系统的失效。

    (2)Stress Testing 压力测试(不同用户数->性能表现)

    在一定的硬件及网络环境下,模拟不同数量的用户,运行一种或多种业务来查看性能的表现。

    (3)Concurrency Testing并发测试

    (4)Configuration Testing配置测试

    (5)Volume Testing容量测试

    根据数据库的存储空间,向数据库内构造不同数量级的数据,分别执行一种或多种业务,查看DB Server表现,目的在于确定最大容量。

    (6)Benchmark Testing基准测试(如,硬件相同,软件配置不同的条件下,对系统的测试)

    (7)concurrency Testing并发测试

     

     

Open Toolbar