本主题解释了如何使用性能配置文件,以实现对虚拟资产性能的非常具体的控制。
本章包含:
性能配置文件可用于实现对虚拟资产性能的非常具体的控制。每个虚拟资产的性能都可以设置来反映依赖应用程序的实际性能或模拟想要测试的特定性能模型。例如,您可能希望模拟固定响应延迟以及响应延迟范围,或者依赖于应用程序每秒点击率的延迟。对于负载依赖延迟,您可以利用线性或指数响应模板模型;还可以使用脚本创建自定义性能概要模型。此外,当外部应用程序由 APM 工具监控时,可以向配置文件汇总导入 APM 性能数据。
使用性能配置文件允许查看当依赖项显示一系列不同的性能条件时,AUT 会如何响应。例如,您可以:
可以为每个响应程序套件定义性能配置(包括性能配置文件和性能组)。一旦虚拟资产被部署在 Virtualize 服务器上,则可以从 Virtualize 服务器视图或 CTP 中“动态地”将性能配置文件映射到性能组。
例如。假定如下:
根据正在模拟的应用程序的预期性能,将虚拟化响应程序套件中的响应程序分配给两个性能组(搜索目录组和下订单组)。
在本案例中,您可以通过将性能概要映射到性能组来设置相关的虚拟资产,以便模拟两种部署场景:
模拟场景 | 搜索目录性能组 | 下订单性能组 |
---|---|---|
内部部署 | 负载相关指数性能配置文件 | 固定延迟性能配置文件 |
云部署 | 负载相关线性性能配置文件 | 最快固定延迟性能配置文件 |
对于每个响应程序套件,您可以定义:
每个性能配置文件定义一个特定的负载模式,该模式可以应用于关联响应程序套件。可以定义任何数量的性能配置文件。
若要添加性能配置文件:
定义完性能配置文件后,保存更新的响应程序套件。
对于固定响应延迟:
延迟范围允许指定最小和最大延迟范围界限。实际延迟将均匀分布在规定范围内
对于范围延迟:
对于负载依赖响应延迟:
注意,对于大于图中指定值的所有每秒点击率(HPS)值,将使用最右边图点的响应延迟值。例如,如果图上最右键在 10 个 HPS 时为 1500 毫秒(如上面的步骤 3 所示),那么所有大于 10 个 HPS 的 HPS 速率都将使用 1500 毫秒的响应延迟。
可以编写性能配置文件的行为脚本。脚本编制方法应具备以下特点:
有关脚本编制的更多详情,请查阅 扩展和脚本基础。
注意,性能配置文件延迟被添加到响应程序处理时间。大多数情况下,实际响应时间将超过性能配置文件响应延迟时的“零延迟”响应。
此外,在响应程序级别上指定的任何“思考时间”或“响应时间”延迟都将添加到性能配置文件延迟。
能够共享单个性能配置文件的响应程序应该聚合到特定的性能组中。部署相关虚拟资产后,您(或您的团队成员)便可以将性能组需要的性能配置文件映射过去。
可以创建任何数量的性能组。每个响应程序都可以包含在多个性能组中 (比如,不可以在多个性能组中使用单个响应程序)。
若要定义性能组:
定义完性能组后,保存更新的响应程序套件。
设置完性能配置文件和性能组后,您便可以从 Virtualize 服务器视图或从 CTP 中“动态地”将其应用到虚拟资产。这允许您快速设置和更改虚拟资产的性能条件。
从 Virtualize 服务器视图中,您可以将性能配置应用到虚拟资产,如下所示:
在其他地方配置的判断时间或延迟将被添加到性能配置文件中指定的延迟中。判断时间可以在以下情况下配置:
APM 系统提供了监视并管理应用程序性能和可用性的工具。APM 系统为其监视的应用程序收集性能数据;Virtualize 性能配置文件导入器可以查询 APM 系统以获得性能数据,并且根据所监视应用程序的性能度量创建性能配置文件。
若要查询 APM 系统以获得可用的性能度量,并且导入所选度量作为性能配置文件,请完成以下内容:
_Fixed
后缀。_Range
后缀。AppDynamics 特定查询参数:
参数 | 说明 |
---|---|
username | AppDynamics 账号用户名。 |
password | AppDynamics 账号密码。 |
host | 安装 AppDynamics 控制器的主机名。 |
port | 监听 REST 请求的 AppDynamics 控制器的端口。这与用于访问 AppDynamics Web 接口的端口相同。 |
tier | 在 AppDynamics 中配置的层名称。 |
transaction | 设置为 * 以查看所选定应用程序和层下的所有事务。 设置为事务名称(当它在 AppDynamics Metric Browser 树中出现 Business Transactions Performance> Business Transactions 节点时),以按单个事务进行筛选。 |
timeIntervalMinutes | 用于计算性能指标的时间间隔(以分钟为单位)。 |
AppDynamics 性能概要导入器查询 AppDynamics 以获得可在应用程序的配置和数据树的 Analyze> Metric Browser 节点中使用的性能数据。在 AppDynamics Metric 树视图中,该数据显示在 Business Transaction Performance> Business Transactions> YourTier 节点下,然后显示 Average Response Time
metric 节点下。
dynaTrace 特定查询参数:
参数 | 说明 |
---|---|
username | dynaTrace 账号用户名。 |
password | dynaTrace 账号密码。 |
host | 安装 dynaTrace 客户端的主机。 |
port | 安装 dynaTrace 客户端的端口。默认 – 8020。 |
dashboard | 仪表板如在 dynaTrace 客户端中配置的一样命名。 |
method | 设置为“*”以查看仪表板中的所有 web 服务方法和 web 请求 URIs。 设置为 web 服务方法名或 Web 请求 URI,以按单个事务进行筛选。 |
这个 dynaTrace 性能概要导入器查询 dynaTrace 客户机中所选仪表板的 Web 服务和 Web 请求仪表板,以获取 Web 服务方法和 Web 请求性能数据。
必须在查询参数中指定的仪表板中包含 Web 服务或 Web 请求仪表板,或者两者都包含。
确保显示了 Web 服务或 Web 请求仪表板总的 Avg/Min/Max 列。如果是这样,那么列数据将可用于 REST 查询中的性能概要导入器。
在 Import 对话框的 Query Properties 表中出现的默认值可以通过修改合适的性能概要导入器部署描述符文件自定义。这些文件定位于 apm-integration/performance-profile-importers 文件夹或根目录 (<virtualize_install_dir>/eclipse/plugins/com.parasoft.xtest.libs.web_<version>/root)。
修改 AppDynamics.xml 和 dynaTrace.xml 性能概要导入器部署说明符的值属性,使之适合您的环境。
<performance-profile-importer name='AppDynamics' class="com.parasoft.profiles.apm.common.appdynamics.AppDynamicsPerformanceProfileImporter"> <!-- AppDynamics 3.8.2 --> <property name='username' value='admin@customer1'/> <property name='password' type='masked' value='admin'/> <property name='host' value='myhost.mycompany.com'/> <property name='port' type='int' value='8090'/> <property name='application' value='MyApplication'/> <property name='tier' value='MyTier'/> <property name='transaction' value='*'/> <property name='timeIntervalMinutes' type='int' value='4320'/> </performance-profile-importer> |