如果客户端无法向我提供有关该网站的任何真实数据,我如何确定虚拟用户数量和步调?

问题描述

我遇到了很多客户,他们实际上无法提供有关网站高峰使用情况的实际生产数据。我经常没有每小时获得最高的网页浏览量,等等。

在这些情况下,除了仅猜测或遵循“感觉正确”(即全部完成)之外,还如何精确地提出具有适当虚拟用户数量和良好定价的现实工作负载模型?

我使用Loadrunner进行性能/负载测试。

解决方法

问一个月的日志。

  • 找到会话持续时间的统计信息,然后计算被会话持续时间阻止的不同IP的数量。
  • 一旦您的小时数很高,请计算页面实例的数量。业务流程通常会有一个终止页面,该页面是不同的,使您可以了解特定操作发生了多少次,例如请求新密码,更新配置文件,业务流程1等...

通过此方法,您可以衡量用户和操作。您将希望您的利益相关者拥有此数据的所有权。作为质量保证,我们不应同时拥有要求和针对要求的测试。我们应该拥有一个,但不能两个都拥有。如果您的客户不拥有该要求,并将其级联到组织的其他部分,则假设您会因不满意而无所事事……。即,在部署到生产环境之前需要解决的缺陷

现在是您面临的最大挑战,这是您的客户需要解决的流程问题.....您将使用组织,架构,开发,平台工程中没有其他部分的要求进行测试,当他们建立解决方案时。即使您的要求是完美的恢复,再加上一定的增长量,发现的任何缺陷也会受到挑战。

您的测试将不符合组织其他任何部分使用的任何假设或要求。

从某种意义上说,这些其他组织在积极挑战您的结果方面将是正确的。保持他们设计的解决方案满足一系列要求的确是不公平的,这些要求在制定影响系统可伸缩性和响应时间的决策时就没有到位。在第一次执行任何性能测试之前,最好与客户一起解决此问题。

您可以花点时间买自己的东西。如果客户确实需要特定的响应时间,例如采用Google RAIL模型,那么您可以在接受任何代码进行多用户性能测试的代码之前实现门一个用户。对于两个或更多用户,它不会变得更快。实施此强制性措施将解决您大约80%的性能问题,因为使代码符合单个用户需求所需的更改通常会在多用户方面受益。

您也可以通过第二种方式购买一些时间。使用诸如Google LighthouseGTMetrix之类的工具来查看其当前站点。我们大多数人都是习惯动物,其中包括建筑师,开发人员和操作人员。我们设计,构建,部署到我们熟悉并熟悉的模式。...通常一遍又一遍地重复相同的模式,直到我们被迫进行更改为止。从Lighthouse和GTMetrix提取的性能反模式很有可能会延续到将来的版本中,除非它们被要求缓解。在运行性能测试之前,直接从这些工具中引用缺陷。您将需要管理支持,但是您可能甚至不考虑接受针对多用户性能测试的构建,直到GTMetrix的总体得分至少为B,并且Lighthouse的得分达到90或更高。

在进行多用户性能测试时,这应该会留下一些极端情况,例如资源分配过早,资源占用时间过长,资源分配太大,碰到太多东西,将争用锁定在共享资源。架构审查可能会涉及这些内容,有人可能会说:“我们正在预先分配这是因为.....”,或“市场营销人员说我们需要在取消分配之前将购物车保持30分钟,”或“ ....“好吧,你明白了。

在进行功能测试时,请不要忘记运行数据库探查器。您可能会在这里找到一些缺失的索引或高成本的查询,在进行多用户性能测试之前也应解决这些问题。

您可能想知道为什么在进行性能测试之前,我要指出所有这些问题。达尼特(Darnit),您被录用了参加性能测试!您将要进行的测试在政治上具有很高的风险。即使发现丑陋的东西,因为组织的其他部分没有从要求中受益,结果很可能会被拒绝,直到问题出现在生产中为止。通过将焦点转移到客观措施上,甚至​​在您需要激怒两个用户之前就已经有了很多途径,可以找到和解决性能问题,而这些问题在政治上波动较小。令人回味。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...