当前位置:网站首页 > 压力管理与职场平衡 > 正文

服务器压力测试怎么做(服务器压力测试要多长时间)



在本部分中,你将探索负载测试并了解如何将负载测试添加到管道。 负载测试使用 Apache JMeter 来模拟同时访问 Web 应用的多个用户。 测试在过渡环境中从运行在 Azure 应用服务上的应用提取 Web 内容。

Tim 首先在便携式计算机上打开 Apache JMeter 用户界面。 他运行一个基本测试计划。 然后,Tim 和 Mara 将测试计划导出到可从命令行运行的文件。 最后,他们将任务添加到 Azure Pipelines,以便在“过渡”阶段运行负载测试。

Apache JMeter 是一种开源负载测试工具,可以分析和衡量性能。 它生成的报告是一个 XML 文件。

Azure Pipelines 可以读取 Apache JMeter 报表并生成图。 不需要任何特殊硬件就能运行这些测试,所以可以使用 Microsoft 托管代理运行这些测试。 在 Space Game 场景中,你可能在过渡中运行这些测试。

运行 Linux 的笔记本电脑上的 Apache JMeter 如下所示:

你将创建新的测试计划文件,例如 LoadTest.jmx。 然后将线程组添加到该文件。 每个模拟用户在自己的线程上运行。 线程组控制用户数和每个用户的请求数。

以下示例显示了 10 个模拟用户(线程)。 每个用户发出 10 个请求,因此系统总共收到 100 个请求。

采样器是 JMeter 发出的单个请求。 JMeter 可以通过 HTTP、FTP、TCP 等多种协议查询服务器。 采样器生成的结果会添加到报告中。

接下来,你向线程组添加 HTTP 请求默认值和一个 HTTP 请求采样器。 你提供在 Azure 应用服务上的过渡环境中运行的 Space Game 网站的主机名

上述场景创建基本测试计划。

通过 JMeter 可运行多种类型的测试。 可以从 JMeter 图形用户界面运行测试计划。 但对于负载测试,JMeter 文档建议你从命令行运行测试计划。

你将使用以下命令运行测试计划:

 
  

参数指定在非 GUI 模式下运行 JMeter。 参数指定测试计划文件为 LoadTest.jmx。 参数指定报告文件为 Results.xml。

JMeter 运行并生成报告文件 Results.xml。 此文件示例显示前几个结果:

 
  

每个示例都在报表中生成一个节点。 特性指定响应时间(以毫秒为单位)。 在这里,你可以看到三个请求时间分别为 180 毫秒、174 毫秒和 160 毫秒。

理想的请求时间应小于 1 秒。 最多有 10% 的请求时间会超过一秒。 可以将 JMeter 配置为报告统计信息,如响应时间的最小值、最大值和平均值或标准偏差。 你可以编写一个脚本来帮助提供此信息。

若要可视化测试结果,需要采用 Azure Pipelines 可理解的格式提供结果。 Azure Pipelines 可以分析包含测试结果的 XML 文件,但文件需要采用支持的格式。 支持的格式包括 CTest、JUnit(包括 PHPUnit)、NUnit 2、NUnit 3、Visual Studio Test (TRX) 和 xUnit 2。 你可以编写一个能够将 JMeter 结果转换为 JUnit 的 XSLT 文件。

XSLT 代表 XSL 转换,即可扩展样式表语言转换。 XSLT 文件类似于 XML 文件,但通过它能够将 XML 文档转换为另一种 XML 格式。

回顾负载测试的要求:

  • 平均请求时间应少于一秒。
  • 最多有 10% 的请求时间会超过一秒。

满足这些要求的 XSLT 文件如下所示:

 
  

我们不会深入探讨 XSL 的工作方式。 但总而言之,此文件首先从 JMeter 输出收集以下数据:

  • 每个 HTTP 请求时间。

    它通过选择每个 元素的 特性来收集此数据。 ()

  • 每个失败消息。

    它通过选择文档的所有 节点来收集此数据。 ()

XSLT 文件还将阈值设置为 1000 毫秒。 此响应时间是之前定义的最大值。

对于这些变量,XSLT 文件提供了测试总数和失败总数。 然后提供以下两个测试用例:

  • 平均响应时间,如果平均值超过阈值 1000 毫秒,则失败。
  • 最大响应时间,如果超过 10% 的请求超过阈值 1000 毫秒,则失败。

XSLT 的结果与 Azure Pipelines 可理解的 JUnit 格式匹配。 可以将 XSLT 文件命名为 JMeter2JUnit.xsl

接下来,需要 XSLT 处理器。 在本例中,将使用 xsltproc,它是将 XSLT 样式表应用于 XML 文档的命令行工具

可以安装 xsltproc,如下所示

 
  

接下来,运行 xsltproc 将 JMeter 报表转换为 JUnit

 
  

下面是生成的 JUnit 文件 JUnit.xml:

 
  

在此示例中,平均响应时间为 170 毫秒。 最大响应时间为 373 毫秒。 两个测试用例都不会生成失败,因为这两个时间都低于阈值 1000 毫秒。

稍后,你将在管道中运行这些测试。 可以考虑将 JMeter 写入的文件 (Results.xml) 作为不发布到管道的测试结果的中间文件。 JUnit.xml 是最终报告文件。 此文件会发布到管道,以便团队能够可视化结果。

到此这篇服务器压力测试怎么做(服务器压力测试要多长时间)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • gridbagconstraints布局(gridbaglayout布局管理器的用法)2025-08-07 08:27:10
  • 服务器压力测试平台(服务器压力测试软件)2025-08-07 08:27:10
  • 动态库和静态库参与编译时的区别(动态库和静态库的使用)2025-08-07 08:27:10
  • 制作软件的程序(制作软件程序,没有参与内容下载内容传播)2025-08-07 08:27:10
  • kvm虚拟化管理系统(kvm虚拟化架构)2025-08-07 08:27:10
  • 服务器压力测试软件(服务器压力测试报告)2025-08-07 08:27:10
  • oracle 课程(oracle课程设计仓库管理系统)2025-08-07 08:27:10
  • rbac权限系统设计(rbac权限管理实现)2025-08-07 08:27:10
  • 广西大学文件管理系统(广西大学文件管理系统登录界面)2025-08-07 08:27:10
  • rbac权限管理(rbac权限管理 前端动态展示菜单)2025-08-07 08:27:10
  • 全屏图片