负载测试与压力测试
在解释如何在 LoadView 平台中确定应用程序断点之前,我们必须首先描述负载测试和压力测试之间的区别。 虽然这些术语经常可互换使用,但这些测试寻求找到不同的结果。
负载测试是一种非功能测试,用于在特定级别的同时请求(也称为负载)下验证系统的运行状况。 负载测试的目标是证明系统能够处理预期或可接受的卷级,同时将中断或降级降至最低。 用于创建此性能基线的因素包括连接速度、延迟和下载时间等。 通常,执行负载测试是为了帮助预测实际边界内的应用程序性能,从而帮助了解 在峰值负载事件期间性能受到的影响。 将系统推到这些阈值以上可能会无意中导致 负载测试成为压力测试。
另一方面,压力测试旨在将系统推过降级点,有时到完全故障点。 将系统推过降级或故障点,工程师可以了解系统如何处理从故障中恢复,以及是否需要更改硬件容量。 在压力测试期间通常监视的一些因素包括磁盘 I/O、带宽、CPU 使用率、内存和各种 数据库性能指标。
计算初始负载
确定应用程序的临界点通常并不简单,因为它看起来。 显然,如果服务器崩溃,您肯定已经找到了这一点,但还有其他因素需要考虑,例如响应时间。 如今,如果 网页 或应用程序在几秒钟内没有响应,用户就会反弹。 长时间的响应时间可能表明您的应用程序已关闭。 另一个迹象是,您开始收到用户关于网页问题的评论,或者您的支持或 IT 团队通过故障提示通知。
首先,考虑正在使用的 Web 服务器的数量以及可用的 CPU 内核数。 对于此示例,我们假设我们正在使用四核 Web 服务器,并且我们将使用每个 CPU 核心 25 个并发用户的起点,即 100 个 并发 用户。 但是,建议从比计算的起点低 50% 的数字开始,以便对 50 个并发用户有效。 从这个起点出发,根据应用程序性能要求,您可以将负载增加至 5 倍或 10 倍。
选择负载曲线:负载视图平台
LoadView 平台使用户能够从三种不同的负载曲线选项中进行选择。
- 加载步进曲线。 测试类型允许比较操作负载和预期流量负载下的响应时间。
- 基于目标的曲线。 当您已经具有预定的吞吐量(事务目标)或在固定时间间隔内预期网站上的访问者数,并且希望确保网站满足要求时,此测试非常有用。
- 动态可调曲线。 您可以使用此类型来了解站点性能限制,或通过在测试期间手动更改用户流量来规划其 服务器 容量。
为了本示例的目的,我们寻求确定应用程序的临界点,并且我们不是使用预先确定的吞吐量或事务目标,因此我们不会考虑基于目标的曲线选项。 通过动态可调曲线测试,您可以增加流量,直到找到断裂点,或者使用负载步长曲线,您可以设置斜坡速率, 直到找到该断裂点。
另一个需要考虑的因素是事务运行时。 创建压力测试设备后,可以在验证过程后的性能报告中找到 此值。 例如,如果事务运行时约为 30 秒,则您需要将负载保持两倍的时间,以确保事务完成执行,即使响应时间增加。
查找应用程序突破点
下面是使用负载步长曲线的基本 HTTP 压力测试的结果,起始负载为每分钟 12 个用户。
如您所见,在以黄色突出显示的区域中,响应时间和错误数会随着用户数量的增加而增加。 根据应用程序的要求,在 发生错误的任何时候,这都可以被视为突破点。 或者响应时间至关重要的实例,应用程序中断点可能是响应时间超过预定义的阈值的地方。
有关在 LoadView 平台内执行压力测试的信息, 请访问我们的知识库。