在本章节中:
关于 Load Test
Parasoft Load Test 允许您重用 SOAtest 功能测试,以验证应用程序在高负载下的性能和功能性。Parasoft Load Test 功能:
- Centrally-managed load test configuration/execution 无缝集成到 Parasoft SOAtest 中。这与通常如何在组织中构造团队和角色一致。
- 通过服务从 web 接口到数据库的 负载测试完成端到端测试场景的能力。Parasoft Load Test 工具支持 Parasoft SOAtest 中可用的每个协议和测试类型。
- 支持 对非 Parasoft 组件,如:Junits 或轻量级基于网络套接字的组件进行负载测试。这为您的各种负载测试需求提供了一个集成的解决方案。
该方案不仅使用指定的数量和混合的并发请求控制服务响应,还验证功能问题是否在负载情况下发生。预构建的场景可用于验证强健性和可伸缩性。您可以轻松地自定义这些场景以使用不同的测试用例、负载级别、负载分布等等。还可以跨远程服务器分布虚拟用户,以模拟来自不同位置的极端负载和/或测试。还支持对非 Parasoft 组件,如:Junits 或轻量级基于网络套接字的组件进行负载测试。这为团队提供了一个集成方案,以满足他们的各种负载测试需求。
为了帮助您收集负载测试期间的网络信息和系统性能数据,Parasoft 的解决方案提供了内建和可扩展的监视功能。例如,支持的监视器包括 perfmon、SNMP、rstat、WebSphere、WebLogic、JBoss、Tomcat 和远程监视器。该方案可延伸、可部署的监视框架允许您从正承受负载、以图表形式显示并可视化关联那些度量的系统中提取任意一组度量,确定性能问题的原因并将期望的服务策略质量应用到那些度量上,进而从高层次了解系统是否符合性能和可靠性需求。
此外,Parasoft Load Test 提供内建支持,以测试 Junits 和用于对任何实现 Parasoft Load Test 组件 API 的组件的框架进行负载测试;例如,它允许使用实现 Parasoft 组件 API 的轻量级基于套接字的组件进行负载测试。这使得负载测试可以针对组织在执行性能验证时所面临的各种独特的复杂性进行专门化和定制。
系统要求
Load Test 对单个负载测试进程要求 4 GB,对每个额外负载测试进程要求 2 GB。推荐每个负载测试进程的系统内存为 4 GB。
安装指南
Parasoft SOAtest 安装程序会同时安装 Parasoft SOAtest 和 Parasoft Load Test 。
启动 Load Test
通过单击 Launch Parasoft 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:
lt -ask
Linux and MacOS:
在每次 Load Test 启动时都回去查找 loadtest.config 配置文件。如果该文件不存在,Load Test 将创建文件并将该文件的路径打印到控制台上。如果要更改 Java 运行时,则需要手动编辑配置文件。例如:
adam-trujillos-macbook-pro:MacOS atrujillo$ ./loadtest Found a new Parasoft Load Test installation.将配置 Parasoft Load Test。 Using /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/bin/java Parasoft Load Test setup in /Users/atrujillo/Downloads/parasoft/soatest/9.10/Parasoft Load Test.app/Contents/MacOS/../../../Parasoft SOAtest.app/Contents/ParasoftSOAtest/eclipse/plugins/com.parasoft.xtest.libs.web_9.10.0.20161130/root completed successfully Starting Parasoft Load Test...
第一次启动后,可能不会在控制台上打印配置文件的路径,但是会在以下目录中创建它,因此您可以随时对其进行编辑: <SOAVIRT_INSTALL>/eclipse/plugins/com.parasoft.xtest.libs.web_<version>/root/
负载测试 SOAtest 功能测试
Parasoft Load Test 允许您在增加的负载下运行功能测试。Parasoft Load Test 使用指定的虚拟用户数量或每秒点击量(点击率)重复执行所选测试套件。
Web 负载测试
如果要使用基于浏览器的功能测试对极少浏览的 web 进行负载测试,请使用 SOAtest 为该应用程序对它们进行配置。有关更多详情,请查阅 为负载测试准备 Web 功能测试。
负载测试旨在验证应用程序或服务在高负荷下的性能和功能。它允许您与多线程、多用户并行运行测试套件。
启动负载测试的最佳方法是要让多个测试客户机运行完整的功能测试,包括请求提交和响应验证。在负载测试忽略功能验证过程,只关注负载率指标时,它存在忽视仅在特定负载下才浮现的功能问题之类的关键缺陷的风险。
启动负载测试的最佳方法是要让多个测试客户机运行完整的功能测试,包括请求提交和响应验证。在负载测试忽略功能验证过程,只关注负载率指标时,它存在忽视仅在特定负载下才浮现的功能问题之类的关键缺陷的风险。
若要彻底测试性能,应在多种不同场景下运行功能测试套件,以检查如何处理不同类型的负载。例如,测试可以在不同程度的负载增加(突然猛增 vs. 逐渐增加)或有效请求和无效请求的不同组合下检查功能和响应时间。如果负载测试暴露出负载下不可接受的性能或功能,则下一步便是诊断并修复瓶颈源头。有时,问题是由应用程序中基本的算法问题造成的,所以修复可能需要做一些痛苦的事,比如应用程序重新设计和重写。而有时,它是因为部分基础设施(Web 服务、SOAP 库、数据库等)引起的。在这些情况下,修复问题可能与变更配置一样简单,也可能与变更架构一样复杂。
因为有时修复性能问题需要很大的应用程序或系统变更,所以最好尽快启动负载测试。通过尽早开始,您可以对任何基本问题进行诊断和修复,以免太晚而无法进行重大重写或重新构建的噩梦。
测试自己的应用程序 — 而不是公共应用程序!
Parasoft 不推荐或容忍在公共应用程序(包括 SOAtest 教程中引用到的应用程序)上执行负载测试。请将负载测试只应用于您自己的应用程序,或 Load Test 教程中使用的 parabank 示例应用程序。
从早期 Parasoft SOAtest 或 WebKing 迁移测试
如果您在 SOAtest 5.5 或更早版本中配置了负载测试,则可以直接导入并完全支持它们。还支持来自 Parasoft WebKing 的负载测试,它们应该在 Parasoft SOAtest 中打开,然后按照 SOAtest 用户指南的描述为负载测试进行配置和验证。
配置外部 JAR 文件或类文件夹的依赖项
如果您即将对使用具有外部 JAR 文件或类文件夹依赖项的扩展工具进行负载测试,请执行以下步骤,以保证这些 SOAtest 扩展工具在负载测试中找到它们的依赖项。
- 选择 Parasoft> Preferences。
- 在 System Properties下,将 jar 或类文件添加到系统属性类路径条目(如果它们并不存在于该处)。
- 关闭 SOAtest。
- 如果 Load Test 为开启状态,请关闭。
- 打开 Load Test。来自 SOAtest 系统首选项的 jar 将被导入到 Load Test 中,即使它们未显示在Load Test 首选项中。