发布新日志

  • web_find、web_reg_find、web_global_verification的区别

    2008-01-17 17:36:26

    web_find 函数在 HTML 页中搜索指定的文本字符串
    web_reg_find 函数注册一个请求,以在下一个操作函数(如 web_url)检索到的网页上搜索一个文本字符串
    web_global_verification属于注册函数,注册一个在web页面中搜索文本字符串的请求,与web_reg_find只在下一个Action函数中执行搜索不同的是它在之后所有的Action类函数中执行搜索的。
  • 集合点使用之查看集合信息

    2007-12-20 16:56:47

     

    在场景运行期间和运行之后,您可以在“集合信息”对话框中查看集合的状态。该对话框提供下列信息:

    当前状态:在分配到集合中的 Vuser 总数中,到达集合点的 Vuser 数。

    时间:释放到的集合点的 Vuser 的时间。

    原因:释放到的集合点的 Vuser 的原因。可能的原因有“超时”或“到达”。

    要查看集合信息,请执行下列操作:

    选择要查看其信息的集合。集合的状态会显示在“状态信息”部分中。

    了解“集合信息”对话框

  • 集合点使用之了解“集合信息”对话框

    2007-12-20 16:56:07

     

    您可以通过“集合信息”对话框查看并修改场景中每一个集合点的属性。

    集合:显示场景中集合点的名称。

      • 启用集合/禁用集合:用来启用或禁用选定的集合点参与场景。

    脚本:将列出与集合点关联的 Vuser 脚本。

    Vuser:将列出与集合点关联的 Vuser。

      • 启用 Vuser/禁用 Vuser:用来启用或禁用 Vuser 参与集合。

    策略:将打开“策略”对话框,使您可以设置每次从集合中释放的 Vuser 数,以及从集合中释放 Vuser 前,Controller 等待的时间。

      • 超时:用来输入超时值(以秒为单位)。在每个 Vuser 到达集合点之后,LoadRunner 都会等待下一个 Vuser 到达,等待的最长时间为指定的超时间隔。如果下一个 Vuser 没能在超时间隔内到达,Controller 就会从集合中释放所有的 Vuser。每当有新的 Vuser 到达时,计时器就会重置为零。默认的超时间隔是三十秒。您可以为每个集合点设置一个超时。

    状态信息

      • 当前状态:显示分配到集合中的 Vuser 总数中,到达集合点的 Vuser 数。
      • 时间:显示集合的释放时间。
      • 原因:显示从集合点中释放 Vuser 的原因。可能的原因有“超时”或“到达”。
      • 释放:释放当前正在选定集合点等待的所有 Vuser。如果您希望在并非所有 Vuser 都到达集合时,继续运行场景,请单击此按钮。
      • 重置:将删除当前显示的信息来重置状态信息。

    禁用和启用集合点

    在集合点禁用和启用 Vuser

    查看集合信息.

  • 集合点使用之禁用和启动集合点

    2007-12-20 16:12:35

    您可以临时禁用集合,并将其从场景中排除。通过禁用和启用集合,可以改变服务器的负载级别。

    使用“集合信息”对话框中的“禁用集合/启用集合”按钮,可以更改集合的状态。

    要禁用集合,请执行下列操作:

    1. 在“集合”框中,选择要禁用的集合。
    2. 单击“禁用集合”按钮  。该按钮将变为“启用集合”,且该集合被禁用。

    要启用集合,请执行下列操作:

    1. 在“集合”框中,选择要启用的已禁用集合。
    2. 单击“启用集合”按钮  。该按钮将变为“禁用集合”,且该集合被启用。

    了解“集合信息”对话框

  • 集合点使用之设置集合策略

    2007-12-20 16:08:47

    设置集合策略可以确定 Vuser 如何处理集合点。您可以为每个集合设置下列策略属性:

    释放策略:用来设置集合中能够一次释放的 Vuser 数。

    超时:在集合释放 Vuser 之前,Controller 等待的时间。

    要设置集合的策略属性,请执行下列操作:

    1. 选择“场景”>“集合”。将打开“集合信息”对话框。
    2. 从“集合”框中选择集合,然后单击“策略”按钮。将打开“策略”对话框。



    3. 在“策略”部分中,可以选择下列三个选项之一:
      • 当所有 Vuser 中的 X% 到达集合点时释放:仅当指定百分比的 Vuser 到达集合点时,才释放 Vuser。
      • 注意:此选项会干扰场景的计划。如果选择此选项,场景将不按计划运行。

      • 当所有正在运行的 Vuser 中的 X% 到达集合点时释放:仅当场景中指定百分比的正在运行的 Vuser 到达集合点时,才释放 Vuser。
      • 当 X 个 Vuser 到达集合点时释放:仅当指定数量的 Vuser 到达集合点时,才释放 Vuser。
    4. 在“Vuser 之间的超时值”框中输入一个超时值。每个 Vuser 到达集合点之后,LoadRunner 都会等待下一个 Vuser 到达,等待的最长时间为您设置的超时间隔。如果下一个 Vuser 没能在超时间隔内到达,Controller 就会从集合中释放所有的 Vuser。
    5. 每当有新的 Vuser 到达时,计时器就会重置为零。默认的超时间隔是三十秒。

    6. 单击“确定”保存设置并关闭“策略”对话框。

    了解“集合信息”对话框

  • 集合点使用之设置集合属性

    2007-12-20 16:02:49

    您可以在“集合信息”对话框(“场景”>“集合”)中设置下列集合属性:

    另外,该对话框还将显示集合点的一般信息:哪个脚本与集合关联,以及释放历史。



    有关在场景执行期间使用“释放”命令操纵 Vuser 的信息,请参阅“运行场景”

    了解“集合信息”对话框

  • 集合点使用之关于使用集合点

    2007-12-20 15:50:43

     

    在场景运行期间,可以通过使用集合点指示多个 Vuser 同时执行任务。集合点可以在服务器上创建密集的用户负载,并使 LoadRunner 能够度量服务器在负载状态下的性能。

    假设您要在十个 Vuser 同时检查帐户信息时度量基于 Web 的银行系统是如何执行操作的。为了模拟服务器上要求的用户负载,您可以指示所有 Vuser 在同一时刻检查帐户信息。

    可以通过创建集合点来确保多个 Vuser 同时操作。当 Vuser 到达指定集合点时,Controller 会将其滞留在该处。当达到了要求的 Vuser 数,或者经过一段指定的时间后,Controller 就会从集合中释放 Vuser。有关释放条件的详细信息,请参阅“设置集合策略”

    集合点是在 Vuser 脚本中定义的。有关在 Vuser 脚本中插入集合点的信息,请参阅《Mercury 虚拟用户生成器用户指南》。

    使用 Controller,可以通过选择以下项来改变服务器的负载级别:

    • 场景运行期间活动的集合点
    • 参与每个集合的 Vuser 数

    例如,要测试银行服务器,可以创建一个包含两个集合点的场景。第一个集合确保一千个 Vuser 能同时存入现金。第二个集合确保另外一千个 Vuser 能同时提取现金。如果需要在只有五百个 Vuser 存入现金的情况下度量服务器的性能,您可以停用(禁用)“提取”集合,并指示仅让五百个 Vuser 参加“存入”集合。

    下面的过程概述了如何控制服务器上的负载峰值:

    1. 创建 Vuser 脚本,插入必需的集合点。
    2. 创建场景。
    3. 向场景中添加 Vuser 组时,LoadRunner 会扫描与该组关联的脚本,在其中搜索集合点的名称,并将这些名称添加到“集合信息”对话框(“场景”>“集合”)的列表中。如果另外创建了一个运行相同脚本的 Vuser 组,Controller 会将这些新的 Vuser 添加到集合中,并更新列表。

    4. 设置模拟用户负载的级别。
    5. 您可以通过选择参与场景的集合点和参与每个集合的 Vuser 数,确定负载的确切级别。

    6. 设置集合的属性(可选操作)。
    7. 对于每个集合,都可以设置“策略”属性。有关详细信息,请参阅“设置集合策略”

    8. 运行场景。

  • 路径转换示例

    2007-12-20 15:33:10

     

    以下部分将举例说明路径转换表条目。

    注意,将基于 Windows 的路径转换为 UNIX 路径后,必须输入适当的斜杠,正斜杠适用于 UNIX,反斜杠适用于基于 Windows 的路径。

    下例说明了名为 Merlin 的基于 Windows 的 Controller 路径转换表的使用信息。

    在第一个示例中,Vuser 运行在 Windows 2000 计算机 Oasis 上。Merlin 将网络驱动器映射为 f:,而 Oasis 将其映射为 g:\loadtest

    merlin f:\ g:\loadtest\ Oasis

    在第二个示例中,Vuser 运行在 UNIX 计算机 Ultra 上。Ultra 将网络驱动器映射为 /u/tests/load

    merlin f:\ /u/tests/load/ Ultra

    在第三个示例中,远程负载生成器 Jaguar 的网络驱动器映射与 Controller 的映射相同,所以不需要路径转换。该行可以从路径转换表中排除。

    merlin n:\ n:\ Jaguar

    在第四个示例中,所有基于 Windows 的 Vuser 负载生成器都将把网络驱动器映射为 m:\loadtest

    merlin l:\mnt\ m:\loadtest\ win

  • 向路径转换表添加条目

    2007-12-20 15:11:56

     

    要将一个路径从一台 Windows 计算机转换到其他 Windows 计算机,或在 Windows 计算机和 UNIX 计算机之间进行转换,则需要在路径转换表中创建条目。该表包含一个路径列表,其中的路径可以转换为能被不同计算机识别的格式。

    路径转换表中每一行的格式如下:

    <controller 主机> <controller 路径> <远程路径> [<远程主机>]

    controller 主机:正在运行 Controller 的计算机的名称或类型。例如,如果 Controller 运行在一台 Windows 计算机上,可以在“主机”字段键入 win。您也可以输入运行 Controller 的计算机的名称(例如,LOADPC1)。

    controller 主机的值可以是:

      • hostname:运行 Controller 的计算机名
      • win:Controller 运行在 Windows 计算机上
      • unix:Controller 运行在 UNIX 计算机上
      • all:Controller 运行在 Windows 或 UNIX 计算机上

    controller 路径:Controller 能够识别的特定目录所在的路径。例如,如果脚本所在的目录位于 Controller 映射的网络驱动器 r 中,则在“controller 路径”字段键入路径r:\scrīpts

    远程路径:远程计算机能够识别的特定目录所在的路径。例如,如果脚本所在的目录位于远程负载生成器映射的网络驱动器 n 中,则在“远程路径”字段键入路径n:\scrīpts

    如果远程 UNIX 负载生成器上的 Vuser 将上述路径识别为 /m/tests,则应在“远程路径”字段中键入该路径。

    远程主机:远程负载生成器的名称或类型。例如,如果所有远程计算机都是 UNIX 工作站,则可以在“远程主机”字段键入 unix。“远程主机”字段的选项与上面列举的“controller 主机”字段的选项相同。远程主机参数是可选的。

  • 执行路径转换及如何编辑路径转换表

    2007-12-20 15:10:34

     

    在您运行场景时,LoadRunner 会从正在参与的 Vuser 中收集运行时数据。默认情况下,LoadRunner 将数据存储在每台 Vuser 计算机上的临时文件中。在场景运行完以后,会在常规结果目录中整理数据。

    您也可以指示 LoadRunner 直接将运行时数据写入共享网络驱动器中。(请参阅“配置场景”)建议不要使用此方法,因为这样会增加网络流量且需要进行路径转换。

    编辑路径转换表

    使用 LoadRunner Controller 可以维护路径转换表。LoadRunner 将路径转换表保存为一个 ASCII 文件,ppath.mnt。该文件存储在 LoadRunner_directory/dat 目录中,对于每个要转换网络路径都包含一行条目。

    要编辑路径转换表,请执行下列操作:

    1. 启动 LoadRunner Controller。
    2. 选择“工具”>“选项”,然后选择“路径转换表”选项卡。将打开“路径转换表”视图。



    3. 输入路径转换信息之前,请首先考虑使用通用命名约定方法。如果您的计算机是 Windows 计算机,可以指示 Controller 将所有路径转换为 UNC。这样,所有计算机都可以识别路径而无需进行路径转换。以下为 UNC 格式的路径的一个示例:\\machine_a\results
    4. 选择“转换为 UNC”复选框,以指示 LoadRunner 忽略路径转换表并将所有路径都转换为通用命名约定格式。

    5. 如果您的计算机不是 Windows 计算机并需要路径转换,则请在该表中键入路径信息。您可以通过在该表中行首处键入 # 符号来插入注释。
    6. 单击“确定”关闭该表并保存信息。
  • 访问文件失败

    2007-12-20 14:31:22

     

    如果有一个或多个参与的计算机不能访问结果路径或者 Vuser 脚本,则该 LoadRunner 场景就会失败。请检查下列各项:

    • 路径转换
    • Vuser 脚本
    • 结果路径

    路径转换:脚本的位置(路径)始终基于 Controller 计算机对该位置的映射。如果 Vuser 负载生成器使用不同的名称映射脚本的路径,则需要路径转换。路径转换将 Controller 对给定位置的映射转换成 Vuser 负载生成器的映射。例如,如果一台计算机将脚本目录映射为 g:\test,而另外一台计算机将它映射为 h:\test,则应转换该路径。

    在 Windows 和 UNIX 之间跨平台进行路径转换也是有效的。使用路径转换将 Windows Controller 路径转换成 UNIX 可以识别的路径。

    注意:仅在您选择将所有脚本和结果保存到共享网络驱动器上时,才需要路径转换。在默认设置中,LoadRunner 在本地保存文件并将它们整理到 Controller 计算机中,并不需要路径转换。

    假设脚本位于 /usr/jon/lr_test1 目录并在 UNIX 计算机 sunny 上运行。要将其从 Windows Controller 计算机 pc1(其中 UNIX 目录被映射为 r)上转换过来,请在路径转换表中输入以下行:

    pc1 r:\ /usr/jon sunny

    要将 f:\qa Controller 目录转换到所有在 UNIX 平台上运行 /m/qa/lr_test2/lr_test2.usr 的负载生成器计算机上,请键入:

    win f:\qa /m/qa UNIX

    如果路径转换不正确,场景就会失败。有关路径转换的详细信息,请参阅“执行路径转换”

    Vuser 脚本:确保通过路径转换和权限,所有参与该场景的负载生成器都可以访问 Vuser 脚本。在每台参与场景的负载生成器上以独立模式查看或运行 Vuser 脚本。

    结果路径:确保通过路径转换和权限,所有参与该场景的负载生成器都可以访问结果路径。检查结果目录文件的权限,并在必要时修改它们。

  • 连接 AUT 数据库失败

    2007-12-20 14:28:38

     

    如果正在运行数据库应用程序,则必须确保所有远程客户端都可以连接到数据库服务器上。如果在客户端访问服务器时发生网络错误或配置错误,则必须首先改正它们才能运行场景。要确保客户端应用程序可以连接到数据库服务器上,请执行下列测试:

    • Ping
    • SQL 实用程序
    • Ping:确保客户端可以通过 TCP/IP 与数据库服务器进行通信。使用 ping 实用程序或者在 DOS 命令行中键入 ping <server_name>

      SQL 实用程序:使用简单实用程序(例如 ISQL 或 SQLPLUS)登录到数据库服务器并执行几个基本操作。

  • Controller的一些说明

    2007-12-20 14:25:58

    LoadRunner 对网络中计算机之间的通信的依赖性很大。如果没有正确建立通信,Controller 将无法向远程负载生成器发送命令,而且场景也会失败。了解故障的原因并确定故障发生的时间,然后就可以解决大多数与网络通信相关的问题。

    要确保场景而不是 Vuser 脚本中存在问题,应该验证脚本是否能够以独立模式在所有远程负载生成器上正常运行:

    • 在 Windows 平台上,使用 WinRunner 测试 GUI Vuser 脚本。
    • 在 UNIX 平台上,从命令行运行 Vuser 脚本来测试这些脚本。
    • 在 Windows 平台上,可以从 VuGen 运行 Vuser 脚本,也可以从 Controller 运行单个用户来测试所有其他类型的 Vuser 脚本。
    • 注意:在 VuGen 中运行测试时,将使用浏览器的所有功能。这与在 Controller 中运行测试不同,后者仅使用浏览器的基本功能。某些情况下,测试在 VuGen 中可以成功运行,但在 Controller 中却运行失败。在 Controller 中使用多个 Vuser 运行场景之前,请先运行单个 Vuser 来确保该测试没有错误。

    有关在独立模式下运行 Vuser 脚本的详细信息,请参阅创建 Vuser 脚本的相应指南。

  • LoadRunner 通信

    2007-12-20 14:19:42

     

    如果您了解 LoadRunner 的配置,就可以解决大多数通信问题。对其配置的了解有助于您确定问题的源头并执行相应操作来更正问题。

    下图给出了一个正在运行 LoadRunner 的示例网络。该网络中有五个服务器:LoadRunner Controller、Web 服务器、应用程序服务器、数据库服务器和存储场景结果的文件服务器(注意,结果文件还可以保存在非专用的服务器上)。其中还有五个远程负载生成器,每个负载生成器上都运行着多个 Vuser。

    箭头表示网络中元素之间必要的通信类型。Vuser 与 Controller 可以进行双向通信(发送/接收),但与文件服务器只能进行单向通信(发送)。Controller 必须有访问文件服务器的权限。所有参与场景的 Vuser 必须能够与 Web 服务器进行双向通信(发送/接收)。为了将客户端计算机连接到服务器计算机上,客户端计算机必须能够解析服务器计算机名。



    如果任何一个连接被中断,场景将失败。

  • 增加 Windows 计算机上的 Vuser 数

    2007-12-20 14:09:56

     

    在 Windows 计算机的标准设置下,限制只能使用几百个 Vuser。该限制与操作系统有关,而与 CPU 或内存无关。

    要解决 Windows 操作系统的限制问题,请执行下列步骤修改 Windows 内核:

    1. 保存注册表文件的副本,以免修改出现问题。
    2. 运行 Regedit。
    3. 转至 KEY_LOCAL_MACHINE 中的下列关键字:
    4. System\CurrentControlSet\Control\Session Manager\SubSystems

    5. 选择 Windows 关键字。NT 4.0 默认的 Windows 关键字如下所示:

      %SystemRoot%\system32\csrss.exe ōbjectDirectory=\Windows

      SharedSection=1024,3072

      Windows=On SubSystemType=Windows ServerDll=basesrv,1

      ServerDll=winsrv:UserServerDllInitialization,3

      ServerDll=winsrv:ConServerDllInitialization,2

      ProfileControl=Off MaxRequestThreads=16

    6. SharedSection=1024,3072 关键字的格式为 xxxx,yyyy,其中:

      xxxx 定义系统范围堆的最大大小(以 KB 为单位)

      yyyy 定义每个桌面堆的大小。

    7. 通过将 yyyy 设置从 3027 更改为 8192(即 8 MB),增加 SharedSection 参数值。

    该设置允许在使用 2 Pentium PRO 200 MHZ 和 1 GB RAM 的 Windows 计算机上运行 1250 个 Oracle Vuser。

    该设置中的每个 Vuser 大约使用 2MB 内存。其他 Vuser 可能需要更多内存。

    当 Windows 终端服务器作为操作系统来运行,并且更改上述注册表设置后,LoadRunner 能够加载 2500 个以上的 Vuser。

    通过上述注册表更改,您可以运行更多的线程,因而可以在计算机上运行更多的 Vuser。这意味着您将不受 Windows 操作系统的限制,而只受硬件和内部可伸缩性限制的约束。

  • Load Runner 录制问题

    2007-12-20 11:10:20

    使用Load Runner录制只能打开一个窗口的程序时,需要先将该程序关闭,然后再进行录制。否则录制不到任何内容。
  • Load Runner IP欺骗无法设置解决方法

    2007-12-20 11:05:52

    使用IP欺骗工具,设置IP后,点击完成后,弹出窗口没有“确定”按钮,解决方法:
    点击取消按钮,但不要松开左键,然后把鼠标拖出窗口位置,
    松开左键,取消按钮就变成确定了.然后点击确定就可以了。
  • 性能结果分析中90%的理解

    2007-12-20 10:58:48

    对90percent的理解,诸多同仁都发表过自己的见解。本来,我也是一直认为:90 percent就是90%事物的响应时间。但今天看了Zee在51testing上发表的帖子(该帖子附上了有关90 percent的官方网站所描述的),才知道90 percent的来由。

        根据官网所言,90 percent是90%的事物响应时间小于或等于90th percent 的值。这个90th percent 的值又如何得出来的呢?

    1.将事物实例的值按升序排序 2.去掉10%的极值 3。剩下值里的最大值就是90th percent的值。

    比如,某个事物包括10个实例值:1,3,5,12,6,22,8,9,30,10 按如下步骤找90th percent的值:1.升序排序 1.3.5.6.8.9.10.12.22.30 2.去掉10%的最大值即30 3.剩下值中的最大值就是90thpercent即22.所以这个 90 percent的值。

       然而问题又来了:这个90 percent在分析结果数据时有什么作用呢?我个人是这样理解的:1.如果90 percent和平均值相差较大,则可以说明系统稳定性不是很好 2.如果这个值客户能接受,那就说明系统性能符合需求.不过我觉得这个值应该还有其他的意义,希望能尽快弄明白并补充完整

     

  • 吞吐量与点击量的含义

    2007-12-20 10:55:37

    在LoadRunner的结果分析报告中,Total Throughput(bytes)的含义是:在整个测试过程中,从服务器返回给客户端的所有字节数量;
    Total Hits的计算不是按照用户的鼠标点击次数计算,而是按照客户端向后台发起了多少次请求计算。譬如:在访问一次页面中,假设该
    页面里面包含5个图片,那么,用户只用点击鼠标一次就可以访问该页面,而LoadRunner视该次访问的点击量为1+5=6次。
    吞吐率=吞吐量/测试时间;点击率=点击量/测试时间。
Open Toolbar