章节目录:

关于 Load Test

Parasoft Load Test 允许您重用 SOAtest 功能测试,以验证应用程序在高负载下的性能和功能性。Parasoft Load Test 功能:

  • 集中管理负载测试配置/执行无缝集成到 Parasoft SOAtest 中。这与通常如何在组织中构造团队和角色一致。
  • 通过服务从 web 接口到数据库的负载测试完整端到端测试场景的能力。Parasoft Load Test 工具支持 Parasoft SOAtest 中可用的每个协议和测试类型。
  • 支持对 Junits 等非 Parasoft 组件或轻量级基于网络套接字的组件进行负载测试。这为您的各种负载测试需求提供了一个集成的解决方案。

该方案不仅使用指定的数量和混合的并发请求控制服务响应,还验证功能问题是否在负载情况下发生。预构建的场景可用于验证强健性和可伸缩性。您可以轻松地自定义这些场景以使用不同的测试用例、负载级别、负载分布等等。还可以跨远程服务器分布虚拟用户,以模拟来自不同位置的极端负载和/或测试。还支持对 Junits 等非 Parasoft 组件或轻量级基于网络套接字的组件进行负载测试。这为团队提供了一个满足各种负载测试需求的集成方案。

为了帮助您收集负载测试期间的网络信息和系统性能数据,Parasoft 的解决方案提供了内建和可扩展的监控功能。例如,支持的监控器包括 perfmon、SNMP、rstat、WebSphere、JBoss(已弃用)、Tomcat 和远程监控器。该方案可延伸、可部署的监控框架允许您从正承受负载、以图表形式显示并可视化关联那些指标的系统中提取任意一组指标,确定性能问题的原因并将期望的服务策略质量应用到那些指标上,进而从高层次了解系统是否符合性能和可靠性需求。

此外,Parasoft Load Test 提供内建支持,以测试 Junits 和用于对任何实现 Parasoft Load Test 组件 API 的组件的框架进行负载测试;例如,它允许使用实现 Parasoft 组件 API 的轻量级基于套接字的组件进行负载测试。这使得负载测试具有针对性,实现定制化,以应对组织执行性能验证时面临的各种独特的复杂性。 

系统要求

Load Test 对单个负载测试进程要求 4 GB,对每个额外负载测试进程要求 2 GB。推荐每个 Load Test 进程的系统内存为 4 GB。

安装 

Parasoft SOAtest 安装程序会同时安装 Parasoft SOAtest 和 Parasoft Load Test。

启动 Load Test

如果您是第一次启动 Load Test,系统可能会提示您进行授权。更多信息,请参阅下文的许可部分。

点击工具栏中的启动 Parasoft Load Test 打开 Load Test。

通过命令行界面启动 Load Test

从命令行启动系统时,可以将系统属性传递给 Load Test。

依赖项同步设置

以下设置使 Load Test 忽略外部依赖关系。依赖关系将不会显示在计算机配置面板的“计算机依赖关系”视图中。

lt -J-Ddependencies.ignore=true

以下设置使 Load Test 显示依赖关系,但默认情况下将其禁用。 

lt -J-Ddependencies.default.unselect=true

Java 版本要求

使用 -ask 标记启动 Load Test,它将提示您指定要运行的 Java 可执行文件。如果您需要使用其他版本的 Java 或其他发行版来运行,这将很有帮助。例如,通过 SSL 连接到 WebSphere 应用程序需要 IBM JRE。您可以在下载 IBM JRE 并在启动 Load Test 时使用 -ask 选项,这将提示您指定备用 Java。更多信息,请参阅 IBM WebSphere MQ。  

Windows

loadtest -ask

Linux 与 MacOS

每次 Load Test 启动时都会去查找 loadtest.config 配置文件。如果该文件不存在,Load Test 将创建文件并将该文件的路径打印到控制台上。如果要更改 Java 运行时,则需要手动编辑配置文件。例如:

atrujillo$ ./loadtest
找到一个新的 Parasoft Load Test 安装。将配置 Parasoft Load Test。
使用 /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/bin/java
成功完成 /Users/atrujillo/Downloads/parasoft/soatest/9.10/Parasoft Load Test.app/Contents/MacOS/../../../Parasoft SOAtest.app/Contents/ParasoftSOAtest/eclipse/plugins/com.parasoft.ptest.libs.web_9.10.0.20161130/root 中的 Parasoft Load Test 设置
启动 Parasoft Load Test...

第一次启动后,可能不会在控制台上打印配置文件的路径,但是会在以下目录中创建它,因此您可以随时对其进行编辑:  <SOAVIRT_INSTALL>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/

许可

首次启动 Load Test 时,将显示许可证设置对话框。要在 Load Test 中访问许可证设置对话框,请前往文件 > 许可证设置

根据不同许可证类型,Load Test 的许可流程也略有不同。

节点锁定的许可证:

  1. 启用使用节点锁定的许可证
  2. 密码字段中输入 Parasoft 提供给您的许可证密码。应用许可证后,将自动弹出许可证失效日期。
  3. 然后点击 OK

许可证服务器提供的许可证:

  1. 启用使用许可证服务器
  2. 虚拟用户下拉菜单中选择许可证服务器上可用许可证的虚拟用户数量。
  3. 基准 URL 字段中输入许可证服务器的 Base URL,以协议开头(例如 https://license.example.com
  4. 如果许可证服务器要求,请在用户名密码字段中输入许可证服务器凭据。
  5. 如有需要,可以点击测试连接进行连接测试。
  6. 然后点击 OK

在高 DPI 显示器上运行 Load Test

如果计划在高 DPI 显示器上以 200% 或更大比例运行 Load Test,则需要向 Load Test 传递 -J-Dsun.java2d.uiScale.enabled=true 选项,以便正常进行 UI 渲染。

Windows:

右键点击 Load Test 快捷方式,选择属性。在目标字段添加-J-Dsun.java2d.uiScale.enabled=true。请确保包括前导空格,例如:

"C:\Program Files\Parasoft\SOAtest\2023.1\loadtest.exe" -J-Dsun.java2d.uiScale.enabled=true

Linux:

运行以下命令:

./loadtest -J-Dsun.java2d.uiScale.enabled=true

负载测试 SOAtest 功能测试

Parasoft Load Test 允许您在增加的负载下运行功能测试。Parasoft Load Test 使用指定的虚拟用户数量或每秒点击量(点击率)重复执行所选测试套件。

Web 负载测试

如果要使用基于浏览器的功能测试进行无浏览器 Web 负载测试,请使用 SOAtest 为该应用程序配置这些测试。详情请参阅为负载测试准备 Web 功能测试

负载测试旨在验证应用程序或服务在高负荷下的性能和功能。它允许您与多线程、多用户并行运行测试套件。

启动负载测试的最佳方法是要让多个测试客户端运行完整的功能测试,包括请求提交和响应验证。在负载测试忽略功能验证过程,只关注负载率指标时,它存在忽视仅在特定负载下才浮现的功能问题之类的关键缺陷的风险。

若要彻底测试性能,应在多种不同场景下运行功能测试套件,以检查如何处理不同类型的负载。例如,测试可以在不同程度的负载增加(突然猛增 vs. 逐渐增加)或有效请求和无效请求的不同组合下检查功能和响应时间。如果负载测试暴露出负载下不可接受的性能或功能,则下一步便是诊断并修复瓶颈源头。有时,问题是由应用程序中基本的算法问题造成的,修复工作可能需要对应用程序进行重新设计和重写等痛苦的工作。而有时,它是因为部分基础设施(Web 服务、SOAP 库、数据库等)引起的。在这些情况下,修复问题可能与变更配置一样简单,也可能与变更架构一样复杂。

如果您想让测试套件中的测试重复使用连接、会话或其他测试专用的资源(例如,OAuth 2.0 访问令牌),则应在这些测试所属的测试套件中启用“测试以组运行”(该选项位于测试套件的执行选项 > 测试执行选项卡中)。该选项允许每个虚拟用户(VU)运行整个测试套件(场景),因此当 VU 获取测试资源时,可以重复使用该资源。如果启用“测试可单独运行”,则每个 VU 将单独运行套件中的一个测试,测试套件中的测试之间不共享资源。

因为有时修复性能问题需要很大的应用程序或系统变更,所以最好尽快启动负载测试。通过尽早开始,您可以对任何基本问题进行诊断和修复,以免太晚而无法进行重大重写或重新构建的噩梦。

测试自己的应用程序 — 而不是公共应用程序!

Parasoft 不推荐或容忍在公共应用程序(包括 SOAtest 教程中引用到的应用程序)上执行负载测试。请只将负载测试应用于您自己的应用程序,或 Load Test 教程中使用的 parabank 示例应用程序。

配置外部 JAR 文件或类文件夹的依赖项

如果您即将对使用具有外部 JAR 文件或类文件夹依赖项的扩展工具进行负载测试,请执行以下步骤,以保证这些 SOAtest 扩展工具在负载测试中找到它们的依赖项:

  1. 前往 Parasoft > 首选项
  2. 系统属性下,将 jar 或类文件添加到系统属性 classpath 条目(如果它们并不存在于该位置)。
  3. 关闭 SOAtest。
  4. 如果 Load Test 为开启状态,请关闭。
  5. 打开 Load Test。来自 SOAtest 系统首选项的 jar 将被导入到 Load Test 中,即使它们未显示在Load Test 首选项中。
  • No labels