您可以创建监控器,在负载测试期间,使用它们来收集网络信息和系统性能。可以将监控指标覆盖到负载测试结果上,以帮助您确定传递给 Web 服务器的负载是否按照设计的方式处理。

章节目录:

支持的监控器

  • SNMP
  • Windows 监控器(仅适用于在 Windows 上安装的 Load Test)
  • WebSphere
  • JBoss(已弃用)
  • Tomcat
  • rstat
  • remote
  • deployed(例如:AppDynamics、Dynatrace)
  • custom

Oracle Service Bus (OSB/ALSB)的性能监控器

可以使用 Oracle Service Bus (OSB/ALSB) 的性能监控器。详情请联系技术支持。

添加内建的监控器

您可以添加以下内建监控器。

添加 SNMP 代理监控器

Load Test 会根据提供的 OID(s) 从版本 1 和 2c 的 SNMP 代理中检索数据。

添加 SNMP 代理监控器:

  1. 右键点击 Load Test 选项卡中的监控器节点并选择新建 Monitors。将打开新建 Monitors 对话框。
  2. 从新建 Monitors 对话框选择 SNMP,然后点击完成。将在右侧面板中打开新的监控器配置面板。
  3. 主机字段键入 SNMP 代理的主机名称。
  4. 群体字段键入 SNMP 代理的群体。
  5. 点击新建输入参数。将打开新建参数对话框。
  6. 按照以下操作完成新建参数对话框:
    • 参数类型:选择 OID 或复合
    • 参数:根据所选的参数类型,参数选项将根据以下情况而有所不同:
      • OID:输入对象 ID,用于在 SNMP 代理群体内标识特定的参数。(仅当选择 OID 作为参数类型时可用。)
      • 复合:选择处理器、内存网络TCP 来收集相应的数据。
      • 计数器:根据所选复合参数,显示 CPU 使用率(%)、内存使用率(%)和网络使用率(%);这些计数器都是通过查询一组 OID 来计算的。
        如果 TCP 是从复合参数下拉菜单选择的,则您必须从计数器框中选择计数器。
      • 参数注释:将显示所选组合模式参数的说明。
    • 图形标题:将为图表输入标题,以对应要添加的监控器。此标题将显示在加载测试进度图和详情报告图中。
    • 应用操作:选择将简单操作应用于 SNMP 代理返回的值。使用“*”代表“乘”,“/”代表“除以”,“%”代表“百分率”。例如,如果代理返回以字节为单位的所分配内存值,而您希望以 KB 为单位查看,则可以通过从下拉菜单选择“/”并在邻近的文本字段中输入“1024”,以应用“/1024”操作。然后您可以将“Memory in kilobytes”添加到图形标题字段中。
  7. 重复以上步骤,直到参数表显示您希望该 SNMP 代理监控的所有参数。
  8. 右键点击 Load Test 树的监控器> SNMP 分支验证新的监控器。

添加 Windows 性能监控器

若要添加一个 Windows 性能监控器(该功能只在有一个 Windows 安装的 Load Test 时可用):

  1. 右键点击 Load Test 选项卡的监控器节点,选择新建 Monitors。将打开新建 Monitors 对话框。
  2. 从新建 Monitors 对话框选择 Windows,然后点击完成
  3. 主机字段键入性能监控器的主机名称。
  4. 点击新建输入参数。将打开添加性能计数器对话框。
  5. 按照以下操作完成新建参数对话框:
    • 选择要监控的参数的性能计数和实例。您选择的参数的说明将在参数注释框中显示。
    • 图形标题字段中,为图表输入标题,以对应要添加的监控器。此标题将显示在加载测试进度图和详情报告图中。
    • 申请操作子面板中,如果需要,选择要应用到监控器数据的操作和值。例如,通过选择 /(除以)操作并在操作值字段输入 1024,可将原始监控值从 Byte 转换为 KBytes。
  6. 重复以上步骤,直到参数表显示您希望该性能监控器监控的所有参数。
  7. 右键点击 Load Test 树的监控器> Windows 分支验证新的监控器。

添加 WebSphere 监控器

添加 WebSphere 监控器之前,跳转至 WebSphere Administrative 的 Security> Global security 部分,并确保未启用 Enable administrative security

若要添加 WebSphere 监控器:

  1. 右键点击 Load Test 选项卡的监控器节点,选择新建 Monitors。将打开新建 Monitors 对话框。
  2. 从新建 Monitors 对话框选择 WebSphere,然后点击完成
  3. 在项目配置面板中,点击配置。将打开配置 WebSphere 代理对话框。
  4. 请输入主机名称,并更改端口号(如果需要),然后点击下一步
  5. 在配置 WebSphere 代理面板中,请输入或浏览到 WebSphere 安装的正确路径。例如:C:\IBM\WebSphere
  6. 点击下一步。配置 WebSphere 代理对话框将显示服务器所需 Jar 文件的一个表,并指示是否找到了合适的 Jar 文件。
  7. 在配置 WebSphere 代理对话框中,点击完成。将打开添加参数对话框。
  8. 从添加参数对话框左侧 GUI 面板选择一个参数。要监控的参数的每个实例的“名称”、“说明”和“值”将显示在添加参数对话框的右侧 GUI 面板。
  9. 右侧 GUI 面板中选择列,选择要监控的参数实例,然后点击 OK。您选择的参数将显示在加载测试进度图和详情报告图中。

添加 Jboss 监控器

已弃用 JBoss 监控器,将在下一版本中停用。.

若要添加 JBoss 监控器:

  1. 右键点击 Load Test 选项卡的监控器节点,选择新建 Monitors。将打开新建 Monitors 对话框。
  2. 从新建 Monitors 对话框选择 JBoss,然后点击完成
  3. 在项目配置面板中,点击配置。将打开配置 JBoss 代理对话框。
  4. 在配置 JBoss 代理对话框中,输入主机名,更改端口号(如果需要),然后点击完成。将打开添加参数对话框。
  5. 从添加参数对话框左侧 GUI 面板选择一个参数。要监控的参数的每个实例的“名称”、“说明”和“值”将显示在添加参数对话框的右侧 GUI 面板。
  6. 右侧 GUI 面板中选择列,选择要监控的参数实例,然后点击 OK。您选择的参数将显示在加载测试进度图和详情报告图中。

添加 Tomcat 监控器

前提条件

若要使用该监控器,Tomcat 应该使用以下 Java 系统属性来启动:

  • -Dcom.sun.management.jmxremote
  • -Dcom.sun.management.jmxremote.port=7744
  • -Dcom.sun.management.jmxremote.ssl=false
  • -Dcom.sun.management.jmxremote.authenticate=false

使用通过 com.sun.management.jmxremote.port 系统属性选择的端口。

例如,如果您使用的是 Windows,则可以将以下 Java 系统属性添加到 catalina.bat Tomcat 启动脚本中:

set "JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=7744 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

如果 Tomcat 作为 Windows 服务安装:

  1. 启动 Tomcat9w.exe。 
  2. 点击 Apache Tomcat Properties 窗口中的 Java 选项卡。
  3. 将 Java 系统属性添加到“Java Options”部分。每个 Java 系统属性都必须位于新行上。

若要添加 Tomcat 监控器:

  1. 右键点击 Load Test 选项卡的监控器节点,选择新建 Monitors。将打开新建 Monitors 对话框。
  2. 从新建 Monitors 对话框选择 Tomcat,然后点击完成
  3. 在项目配置面板中,点击配置。将打开配置 Tomcat 代理对话框。
  4. 在配置 Tomcat 代理对话框中,输入主机名,更改端口号(如果需要),然后点击完成。将打开添加参数对话框。
  5. 从添加参数对话框左侧 GUI 面板选择一个参数。要监控的参数的每个实例的“名称”、“说明”和“值”将显示在添加参数对话框的右侧 GUI 面板。
  6. 右侧 GUI 面板中选择列,选择要监控的参数实例,然后点击 OK。您选择的参数将显示在加载测试进度图和详情报告图中。

添加 rstat 监控器

若要添加 rstat 监控器:

  1. 右键点击 Load Test 选项卡的监控器节点,选择新建 Monitors。将打开新建 Monitors 对话框。
  2. 从新建 Monitors 对话框选择 rstat,然后点击完成

注意

要启用 rstat 监控器,请将 djrpc.jarrstatcl.jar 文件复制到 <INSTALL>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root 目录下,并将它们添加到 classpath 中。

安装时,将 rstatcl.jar 文件添加到 <INSTALL>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root 目录中。

必须购买 djrpc.jar 文件,并复制到 <INSTALL>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root 目录中。

添加远程 JVM 监控器

注意

若要使用该监控器,JVM 应该使用以下 Java 系统属性来启动:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=7744
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

使用通过 com.sun.management.jmxremote.port 系统属性选择的端口。

若要添加远程 JVM 监控器:

  1. 右键点击 Load Test 选项卡的监控器节点,选择新建 Monitors。将打开新建 Monitors 对话框。
  2. 从新建 Monitors 对话框选择远程 JVM,然后点击完成
  3. 在项目配置面板中,点击配置。将打开配置远程 JVM 代理对话框。
  4. 在配置远程 JVM 代理对话框中,输入主机名,更改端口号(如果需要),然后点击完成。将打开添加参数对话框。
  5. 从添加参数对话框左侧 GUI 面板选择一个参数。要监控的参数的每个实例的“名称”、“说明”和“值”将显示在添加参数对话框的右侧 GUI 面板。
  6. 右侧 GUI 面板中选择列,选择要监控的参数实例,然后点击 OK。您选择的参数将显示在加载测试进度图和详情报告图中。

添加自定义监控器

自定义监控器可通过 JavaScript、Jython 脚本或 Java 类方法来实现。这一选项适用于想要从未列出的其他源收集数据的情况。

注意

通道方法必须返回 java.lang.Number 类型,以便显示在加载测试进度和详情报告图表中。

若要添加自定义监控器:

  1. 右键点击 Load Test 选项卡的监控器节点,选择新建 Monitors。将打开新建 Monitors 对话框。
  2. 从新建 Monitors 对话框选择自定义,然后点击完成
  3. 名称字段中输入自定义监控器的名称。
  4. 点击新建。将打开一个添加通道对话框。
  5. 通道 ID 字段中输入通道名称。为自定义监控器输入的名称与通道 ID 一起组成了监控器的标题。此标题将显示在加载测试进度图和详情报告图中。
  6. (可选项)在描述说明字段中输入对渠道的简单说明。
  7. 语言菜单选择一种语言。
  8. 通过以下步骤之一指定脚本:
    • 启用文件并点击浏览,选择相应文件。
    • 启用文本并在文本字段中输入脚本。
  9. 指定您希望从方法菜单调用的方法。
  10. 点击 OK。新的自定义通道被添加到右侧 GUI 面板的“通道”表中。

更改内建的监控器

监控器创建后,您可以为以下内置的监控器类型设置或修改应用操作参数:

  • Windows
  • JBoss(已弃用)
  • Tomcat
  • 远程 JVM
  • SNMP

若要更改操作,双击参数面板的监控器配置视图中的监控器渠道,并设置合适的操作类型和值。

添加已部署的监控器

Load Test 工具允许动态添加监控器类型到 Load Test 安装程序。已部署的监控器显示在性能监控器向导的部署监控器类型表中。

AppDynamics

添加 AppDynamics 监控器

若要添加 AppDynamics 监控器:

  1. 右键点击 Load Test 选项卡的监控器节点,选择新建 Monitors。将打开新建 Monitors 对话框。
  2. 从新建 Monitors 对话框部署监控器类型表选择 AppDynamicsMonitor,然后点击完成
  3. 在项目配置面板右上角,点击 Properties 按钮并配置 AppDynamics 属性。

    • Host – 安装 AppDynamics 服务器的主机。
    • Port – AppDynamics 监听 REST 的端口调用。
    • User Name – REST 的用户名调用身份验证。
    • Password – REST 的密码调用身份验证。
    • Query Interval (Minutes) – 以分钟为单位的时间,其中监控器值取平均值。最小值为 1 分钟。
  4. 点击 OK 保存项目中的属性值。
  5. 若要向 AppDynamics 监控器添加渠道:
    1. 点击项目配置选项卡已部署的监控器面板中的新建按钮。将显示一个监控器通道选择框。监控渠道树中的顶级节点是 AppDynamics 监控的应用程序。
    2. 扩展顶级应用程序节点,直到使用复选框到达通道叶节点为止。
    3. 确保希望监控的项目被选中。
    4. 点击 OK 将所选节点添加到已部署的监控器配置面板的参数表。您选择的参数将显示在加载测试进度图和详情报告图中。

提示

打开属性对话框并点击 OK 以重置监控器通道选择树。监控器通道树将根据 AppDynamics 提供的数据显示顶级应用程序节点。在点击树的扩展图标“[+]”时,子节点将根据发送给 AppDynamics 的请求动态构建。

监控可从 AppDynamics 监控扩展获得的数据

AppDynamics Exchange 站点提供了许多监控扩展。适用于 AppDynamics 指标浏览器的监控扩展数据将在 Load Test AppDynamics 监控器中可用。

下面的截图显示了在 AppDynamics 指标浏览器视图和 Load Test AppDynamics 监控通道选择视图中,可从 Exchange 站点获得的‘静态’监控扩展所公开的数据。

AppDynamics 中的自定义 FileContentMetric:


Load Test AppDynamics 监控器中的自定义 FileContentMetric:

Dynatrace

添加 Dynatrace 监控器

若要添加 Dynatrace 监控器:

  1. 右键点击 Load Test 选项卡的监控器节点,选择新建 Monitors。将打开新建 Monitors 对话框。
  2. 从新建 Monitors对话框部署监控器类型表选择 DynatraceMonitor,然后点击完成
  3. 在项目配置面板右上角,点击 Properties 按钮并配置 AppDynamics 属性。

    • Host – 安装 Dynatrace 服务器的主机。
    • Port - Dynatrace 监听 REST 调用的端口。默认端口为 8020。更多详情,请参考 Dynatrace 文档。
    • User Name - REST 调用身份验证的用户名。
    • Password - REST 的密码调用身份验证。
  4. 点击 OK 保存项目中的属性值。
  5. 若要向 Dynatrace 监控器添加渠道:
    1. 点击项目配置选项卡已部署的监控器面板中的新建按钮。将打开监控器通道选择框。
    2. 扩展顶级应用程序节点,直到使用复选框到达通道叶节点为止。
    3. 确保希望监控的项目被选中。
    4. 点击 OK 将所选节点添加到已部署的监控器配置面板的参数表。您选择的参数将显示在加载测试进度图和详情报告图中。

监控器通道选择视图树用以下方法进行构建:

  • 级别 1:Dynatrace 仪表板
    • 级别 2:仪表板中的图表模板
      • 级别 3:图表模板中的尺寸
        • 级别 4:尺寸的最小值、最大值、平均值

您可以监控线形图类型的现有图表模板,也可以创建新的仪表板。您可以向图表模板添加多个尺寸(数据序列)。详情请参阅 Dynatrace 供应商文档。

提示

打开属性对话框并点击 OK 以重置监控器通道选择树。监控器通道树将根据 Dynatrace 提供的数据显示顶级应用程序节点。在点击树的扩展图标“[+]”时,子节点将根据发送给 Dynatrace 的请求动态构建。

Dynatrace REST 请求响应大小注意事项

Dynatrace REST 相应的大小可以相当大(100KB 以及更多),这取决于表和仪表板的配置。

若要最小化 Dynatrace REST 请求响应的大小:

  1. 在 Load Test 监控的仪表板图表中,在“图表”视图右上角选择图表控制面板中的以下设置。
    • Select Timeframe:设置为last 5 minutes
    • Select Chart Resolution:设置为 10s
  2. 若要将这些设置应用到仪表板中的所有图表,选择上述截图中右键点击菜单所显示的 Apply to Dashboard 命令。
  3. 若要评估 Load Test Dynatrace 监控器使用的仪表板上 REST 请求的响应大小,使用以下 URL 模板(将主机、端口和仪表板名称替换为与您的环境关联的参数值后)在浏览器中打开请求结果:http://dynatrace.parasoft.com:8020/rest/management/dashboard/your_dashboard_name

监控 Dynatrace 插件可获得的数据

Dynatrace‘插件中心’站点和‘社区插件和扩展’站点包含插件数量,大多数用于开箱即用的 Dynatrace 监控功能。Dynatrace 插件数据作为尺寸添加到图表模板将在 Load Test Dynatrace 监控器中可用。

下面的截图显示了 StockQuote 示例监控器插件,它可从‘社区插件和扩展’站点获得,该插件是在 Dynatrace 图表模板和 Load Test Dynatrace 监控器渠道选择视图中作为指标添加的。

自定义 Dynatrace 中的 StockQuote 度量:

自定义 Load Test Dynatrace 监控器中的 StockQuote 渠道:

JVM 线程

添加远程 JVM 线程监控器

JVM 线程监控器允许您观察线程数据,并使用 Java JMX 技术记录远程 Java 应用程序的单个线程详情。 

启动 JMX 监控

若要使用该监控器,JVM 应该使用以下 Java 系统属性来启动 JMX 监控器:

-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=7744 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false

使用 com.sun.management.jmxremote.port 系统属性选择的端口。

若要添加远程 JVM 线程监控器

  1. 右键点击 Load Test 选项卡中的监控器节点并选择新建 Monitors
  2. 从新建 Monitors 对话框部署监控器类型表选择 JVMThreadsMonitor,然后点击完成
  3.  在项目配置面板右上角,点击 Properties 按钮并配置 JVMThreadsMonitor 属性。

    • Host:运行 JVM 的主机名
    • Port:JVM 的 JMX 端口(请参阅启动 JVX 监控)。
    • Thread Filter:逗号-分隔的字符串列表。如果线程名称包含列表中的任何字符串,线程都将被监控器处理。线程名称匹配不区分大小写。(监控器接收来自远程 JVM 进程的所有可用线程数据后,应用该过滤器。)
    • Thread Dump Mode:逗号分隔的要转储的线程状态列表,以供进一步分析。详细说明,请参阅Taking Selective Thread Dumps
    • Thread Dump Directory:线程应转储的目录路径。详情请参阅Taking Selective Thread Dumps

      JVM 线程监控器可能会影响被测应用程序(AUT)的性能

      与添加 JVM 线程监控器联系的性能影响可与使用 jvisualvm Java 性能诊断和监控工具相媲美。大多数情况下应忽略该影响,而我们建议在将 JVM 线程监控器应用于 Load Test 项目之前以及之后,通过比较 AUT 关键的性能指示器(如,CPU 利用率、平均响应时间和最大响应时间等)对其进行评估。

  4. 点击 OK 保存项目中的属性值。
  5. 若要向 JVM 线程监控器添加通道:
    1. 点击项目配置选项卡已部署的监控器面板中的新建按钮。将打开监控器通道选择框。
    2. 启动要监控的通道。通道详情适用于通道选择对话框“说明”列。

关于通道说明

TotalThreads过滤线程的数量。
RunningThreads处于 RUNNABLE 状态的过滤线程数
BlockedThreads处于 BLOCKED 状态的过滤线程数,等待输入同步语句或方法。
ParkedThreads由于调用 LockSupport.park() 处于 parked 状态的过滤线程数。
SleepingThreadsThread.sleep() 方法中的过滤线程数。
WaitingThreadsObject.wait() 方法中等待通知的过滤线程数。
NewThreads尚未启动的线程数。
UnknownThreads未知状态的线程数。
DeadlockedThreads拥有一个锁的线程,尝试获取另一把锁,而该锁已被另一个线程锁住。该渠道查找同时涉及对象监控器和可拥有同步器的锁,如 java.util.concurrent.locks.ReentrantLockjava.util.concurrent.locks.ReentrantReadWriteLock
MonitorDeadlockedThreads拥有一个同步监控器的线程,尝试获取另一个监控器,而该监控器已被另一个线程持有。该方法查找只涉及对象监控器的死锁。
BlockedTime在 Load Test 数据收集间隔期间,处于 BLOCKED 状态的过滤线程的大概时间(以毫秒为单位)。
BlockedRatio处于 BLOCKED 状态的过滤线程的大概比率(以百分比衡量)。
BlockedCount处于 BLOCKED 状态的过滤线程的出现次数。
WaitedTime处于 WAITING 或 TIMED_WAITING 状态的过滤线程的大概时间(以毫秒为单位)。
WaitedRatio处于 WAITING 或 TIMED_WAITING 状态的过滤线程的大概比率(以百分比衡量)。
WaitedCount处于 WAITING 或 TIMED_WAITING 状态的过滤线程的出现次数。

监控器渠道返回的所有数据都与最近 Load Test 数据收集间隔相关。

NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED 都是状态表示,来自 State 枚举,其源于 java.lang.Thread 类中。

有关 JVM 线程状态的详情,请参阅相关 Java 类的 Java 文档:

初始化之后,JMX 线程监控器将检查远程 JVM 上是否启用了线程争用监控。如果禁用争用监控,JMX 线程监控器将尝试启用它。如果尝试失败,BlockedTime、BlockedRatio、WaitedTime 和 WaitedRatio 通道将返回零值。

选择线程转储

JMX 线程监控器允许您选择远程应用程序线程的转储方式并将其保存在磁盘中,以供进一步分析。该功能有助于捕获自动负载测试运行期间偶尔出现的不需要的线程状态,或者记录线程状态。

JMX 线程监控器只转储负载测试运行时的线程。点击监控器配置视图中的发送请求将不会选择线程转储。

设置以下监控属性,以配置可选的线程转储。

线程过滤器

将只转储匹配线程过滤的线程。

线程转储方式

可使用以下值:

  • ALL:转储所有线程
  • NONE or empty:不要创建线程转储
  • DEADLOCKED:转储死锁的线程
  • BLOCKED:转储锁住的线程
  • PARKED:转储停靠的线程

如果该属性未配置(为空),将不会执行线程转储。

输入以逗号分隔的值列表,以配置多线程状态的转储:DEADLOCKED, BLOCKED, PARKED

Thread Dump Directory

您可以在 SOAtest或 LoadTest 测试安装中输入绝对路径,或者输入以下目录的相对路径:

<INSTALL_DIR>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root

如果该属性未配置(为空),将不会执行线程转储。

该设置中提供的路径将用作线程转储根源(请参阅Examining Thread Dumps)。

检查线程转储

Thread Dump Directory 设置中提供的路径将用作线程转储根目录。JVM 线程监控器将为每次负载测试运行,在线程转储根目录下创建一个单独的项目线程转储目录。这些项目线程转储目录将有以下命名模式:PROJECTNAME_YYYY-MM-DD_hh-mm-ss

  • PROJECTNAME:LoadTest 的项目名。
  • YYYY:当前年份
  • MM:当前月份
  • DD:当前日期
  • hh:小时,以 24 小时计
  • mm:分钟
  • ss:秒

该格式使您能够清楚地看到线程转储与哪个 Load Test 项目相关,以及它是何时创建的。如果监控器在负载测试期间没有找到与线程转储配置相匹配的要转储的线程,则将不会创建 PROJECTNAME_YYYY-MM-DD_hh-mm-ss 目录。

监控器将在项目线程转储目录中创建具有以下命名模式的线程转储文件:S..S_hh-mm-ss.txt

  • S..S: 负载测试运行开始线程转储所用的运行时间,以秒为单位。
  • hh-mm-ss: 线程转储所用的系统时间。
    • hh:小时,以 24 小时计
    • mm:分钟
    • ss:秒

每个线程转储文件将包含一个或多个由监控器获得的线程堆栈跟踪。线程堆栈跟踪将具有以下格式:

THREAD_STATE thread: THREAD_NAME
      thread_stack_entries

每个 BLOCKED 线程后面都跟着一个正在阻塞它的线程的堆栈跟踪。BLOCKED 线程输出将具有以下格式:

THREAD_STATE thread: THREAD_NAME
      thread_stack_entries
      ------------------
      Blocked by:      
      BLOCKING_THREAD_STATE thread: THREAD_NAME
            blocking_thread_stack_entries

示例:

BLOCKED thread: Clinet Rec: LTPub_0.4104694862292172
    com.acme.connections.ClientComms.isDisconnecting:561
    ...
    java.util.concurrent.ThreadPoolExecutor$Worker.run:617
    java.lang.Thread.run:745
    ------------------
    Blocked by:
    PARKED thread: acme_pool-2-UserCodeRunnable-135
        sun.misc.Unsafe.park:-2
        java.util.concurrent.locks.LockSupport.parkNanos:215
        java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos:2078
        java.util.concurrent.ThreadPoolExecutor.awaitTermination:1465
        ...

将线程转储与 Load Test 报告中的图表点进行匹配

若要在 Load Test 报告图中找到特定点的线程转储,请执行以下步骤:

  1. 将鼠标悬停在 Load Test 报告图中的一个点上
  2. 使用提示框中的运行时间或系统时间,以查找运行时间或系统时间最近的转储文件。


例如,3_10-37-37.txt 文件将是截图中突出显示的图表点的线程转储文件。

查询监控器

将某些参数添加到监控器后,可以对其进行查询。

若要发送查询:

  1. 选择 Load Test 树节点,该节点代表您希望查询的监控器。
  2. 点击监控器配置面板的响应视图区域中的发送请求

查询结果将显示在监控器配置面板的响应视图区域中。

验证监控器状态

负载测试树使用彩色气泡表示每个监控器的状态。可使用以下颜色:

  • 白色:表示未检查的。
  • 绿色:表示参数可用。
  • 黄色:表示一些参数要么不可用,要么就是其值不是数值。
  • 红色:表示监控器不可用或不可访问。

若要验证一个或多个监控器的当前状态:

  1. 右键点击 Load Test 树节点,该节点代表您希望监控器验证(监控器节点、Windows 节点、SNMP 节点、Custom 节点或代表单独监控器的节点。
  2. 选择验证

监控测试套件负载测试期间的行为

您添加到 Load Test 树的监控器将在测试套件负载测试期间使用。

负载测试期间使用监控器,Load Test 将为负载测试进程面板图标选项卡中的每个监控器添加一栏。图表选项卡将显示监控器收集的数据。这些栏的的名称都是基于监控器的图表标题值,而不是 OID 数或参数 ID。

访问监控结果

负载测试期间监控器收集到的数据被保存在详情报告中,可以与默认数据(例如“虚拟用户数”等)一起查看并与之关联。

  • No labels