gpt4 book ai didi

load - 一个设计如何对网站进行负载测试?

转载 作者:行者123 更新时间:2023-12-05 01:36:11 29 4
gpt4 key购买 nike

我最近一直在考虑如何在我们上线之前测试我们的 web 应用程序的性能。我知道我们无法为此测试复制实际用户事件,因为它是新功能。我可以通过查看我们的日志对用户事件进行一些猜测,并相应地创建测试,但我想知道这会实现什么。

我很想知道如何才能:

  • 确定负载和
  • 判断行为

  • 与真实世界场景相比,这会让您走多远?

    最佳答案

    很大的问题。多年来,我们一直在我的公司运行基准测试和负载测试,主要基于 HTTP。

    在进入复杂场景之前,我们通常会先从基于 的简单基准测试开始。 Apache 工作台 (与 Apache 捆绑的“ab”命令)。这不是负载测试而是性能测试,因为生成的客户端实际上等待 HTTP 查询完成,然后再进行下一个。基本思想是尝试 'ab -c N -t 30' 与 N=1,2,4,8,50,100(例如)。您很快就会了解您应该期望的可扩展性和最大吞吐量。

    备注 :在测试服务器附近运行“ab”命令(最好在同一个 LAN 上),否则你也会调整网络(延迟是这里的主要问题)。但在某些业务案例中,这是真正需要测试的整个系统(服务器 + 网络)。

    从这里开始,如果结果看起来不错(即吞吐量可扩展到服务器端的处理器数量,错误率低或为零),我们将继续进行负载测试。否则我们寻找瓶颈 因为负载测试只会确认可扩展性问题,并且一旦负载大于支持的吞吐量(100% 的 500 个内部错误、连接断开、大超时、服务器抖动等),很可能会显示可怕的结果。

    顺便说一句,负载测试是指使用可以应用的工具 任何加载给定服务器/应用程序 ,尤其是服务器无法处理的负载(例如:Jmeter、Tsung)。负载测试中非常有趣的是观察服务器过载时发生的情况。当您选择性能 Not Acceptable 确切测试点时,确定服务器可以处理的最大负载取决于您。

    然后是猜测或观察现有模式的问题。在许多情况下,我们被要求对一个新网站执行负载测试,但显然没有观察到真正的行为。否则,您可以使用分析并观察前十页:您的场景至少应该遍历它们。您需要一些导航路径:

  • 明显到达首页
  • 使用搜索功能从一个内容跳到另一个内容,可能是随机的
  • 如果该功能存在,请继续登录
  • 更一般地练习 POST 形式,仅读取/GET 数据的 loadtest 意义不大

  • 其他提示:
  • 避免复杂性;例如,如果您有一个购物车,您就不必使用支付等设置真实的购物场景。在电商店铺,购物车路径很少是性能问题,95%的流量都在别处(浏览产品等)。
  • 一一测试导航路径,然后将它们堆积在一个大负载测试嘉年华中;他们应该事先单独提供好的结果
  • 最好请求许多路径来真正练习缓存(总是有缓存:HTTP、应用程序、SQL、文件系统等);生成动态场景的工具,您可以在其中更改长列表中的登录名或对象 ID

  • 总体思路是逐步进行,从简单的测试开始,否则如果结果不符合完美的可扩展性曲线,您将很难解释结果。你猜怎么着?它们永远不会适合完美的可扩展性曲线......

    关于load - 一个设计如何对网站进行负载测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8067700/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com