在进行性能测试时,了解术语”并发”非常重要,因为它与性能测试中的不同方面有关,并且经常被误解,导致一些重要的措施被忽视。 您是否想知道您的网站在最终用户设备上的表现如何? 或者,您如何计划增加网站流量? 甚至如何解决看似看不见但影响您整体业务的网站问题? 这些问题的答案是性能测试。
性能测试一直存在,但每天都在随着新技术的发展而发展。 其核心是通过模拟真实用户使用脚本与网站进行交互来完成性能测试。 然后捕获并分析此交互数据,以了解网站和应用程序性能的不同方面,如响应时间、可访问性、可靠性、正常运行时间、资源使用情况和可扩展性等。 执行性能测试时,可以确保网站处于稳定状态,符合性能标准,以及如何在需要时进行改进和扩展。 更重要的是,它将提供有关系统在预测工作负载下如何运行的有用数据。 性能测试还将发现同时发出多个请求时不一致、效率低下和可用性问题。
基本性能问题和指标
让我们来看看作为第一步,您应该纠正哪些性能问题。
加载时间
应用程序加载时间是用户执行任何操作之前完全加载您的网站、应用程序或单个页面所用的时间。 至关重要的是,与每一秒的延迟,用户转身离开网站,导致收入损失。
响应时间
响应时间是指对任何用户活动或事务的服务器响应。 更多的响应时间意味着用户令人沮丧的体验。
资源利用率和瓶颈
当流量大或资源需求旺盛时,您的网站或应用程序应高效利用资源以及可管理的资源分配。 任何资源(如 CPU、内存、网络等)在许多情况下都可能是瓶颈,导致整个应用程序陷入停滞不前。
可 伸缩 性
您的网站或应用程序应该能够在常规需求期间或在特殊事件中处理预期流量。 如果它不能维持高需求,那么糟糕的可伸缩性问题就变成了应该使用负载测试进行分析和修复的问题。
真实场景
除了这些基本问题之外,还有许多与性能直接相关的业务特定的用例。 例如,如果您有一个交易应用程序,提高网站速度不是一个一次的任务,所以你需要主动减少响应时间,即使只有几毫秒可以创造或打破一个机会,以避免任何经济损失,无论是您的业务或您的用户。
以下列表包含一些基本参数,您需要在性能测试期间测量、监视和分析这些参数:
- 响应时间
- CPU 中断/秒
- 网络输出队列长度
- 网络字节数/秒数
- 吞吐量
- 最大活动会话数
- 命中率
- 数据库锁
- 垃圾收集
- CPU 使用率
- 内存使用情况
- 磁盘 I/O
- 网络带宽
- 内存页/秒
- 页面错误/秒
- 并发 HTTP 基准
- 并发用户
并发 HTTP 连接与并发浏览器与并发用户
Concurrent HTTP
并发 HTTP 是指在任何时间点进行的 HTTP 请求。 例如,假设有 10000 个用户具有有效会话,100 个用户请求在任何时间点通过 HTTP 读取同一资源,然后我们有 100 个并发 HTTP 请求。
Concurrent Browsers
并发浏览器是指在任何时间点具有有效会话的浏览器数。 他们可以在任何时间点向服务器发送任何数量的请求。
并发用户
并发用户是指具有有效会话的用户,服务器在任何时间点执行相同的任务。
通常,人们会与并发用户和同时使用用户混淆,因为两者都可互换使用,但在性能测试中,这两个术语有不同的含义。 让我们看一个例子:
假设有 1,000 个不同的用户与服务器进行有效的会话。 每个用户都执行不同的操作,如登录、结账、消息传递、购物等。 这些称为并发用户,本质上是服务器中有效会话的用户数量。 现在,这 1000 个用户中可能有 100 个在同一时间点执行签出操作。 然后,这 100 个用户将同时成为用户。 同时使用者通常非常小于并发用户,并且很少发生。
负载测试:速度、可扩展性和稳定性
负载测试是测试高流量负载下的网站/应用程序最重要的性能测试类型之一。 从此测试中收集的数据将进行分析并预测,以找出当大量实际用户访问您的网站时可能发生的问题。 消除瓶颈和优化事务以及规划网站/应用程序基础结构的未来可扩展性都很有帮助。 让我们看看一些基本的负载测试类型,它们是如何不同的,以及它们的重要性。
HTTP 负载测试
HTTP 负载测试通常用于标识服务器可以处理的并发 HTTP 请求数。 也可以以最高的请求数/秒接近它。 在粒度级别上,可能有不同类型的请求,如读取、写入、通勤等。 找出每个特定请求的限制可以让您更深入地了解需要执行的优化和资源规划。 例如 – 读取 HTTP 请求的秒请求数可能更高,但对于通勤密集型请求,请求数可能会少得多。
网页加载测试
网页加载测试是任何单个页面加载时间。 例如,如果您有一个电子商务网站,您希望检查单个产品页面加载时间、购物车页面加载时间、结账页面加载时间,以增强和改善客户体验。 如果你的产品页面加载是罚款,但你忽略了购物车页面上的优化,它肯定会导致销售损失。
Web 应用程序负载测试
执行 Web 应用程序负载测试以测量 Web 应用程序的第一个负载。 它不同于页面加载时间,您为所有其他页面进行加载。 当 Web 应用程序启动时,它会提取不同的资源,启动很少的网站范围服务,调用第三方服务,等等,然后最终加载。 优化 Web 应用程序加载时间以防止搅动应该是您第一个重点。
最终想法:并发 HTTP 与并发浏览器与并发用户
负载测试是帮助开发人员和架构师进行优化和资源规划的必要条件。 对于预期流量达到峰值的 Web 应用程序,它变得更加重要。 除了负载测试之外,定期 监视您的网站或应用程序 以了解第三方服务的可访问性、速度和正常运行时间也很重要。 不要忘记从不同的地理位置加载测试并监视您的网站或应用程序,以便用户进一步改进它,因为他们可能有从他们的位置派生的特定性能问题。 使用 LoadView 这样的解决方案 ,您可以轻松加载测试所有网页、应用程序、Web 服务、服务器和 API,并发 HTTP 连接或浏览器数百到数千个。
试用 LoadView 免费试用版 ,获得 20 美元的负载测试积分。 或 安排一个 现场演示与我们的性能工程师,通过 LoadView 平台的完整演练,看看平台提供的所有功能和优势!