Web 模拟多个用户使用一个网站

Web 模拟多个用户使用一个网站,web,simulation,multiple-users,Web,Simulation,Multiple Users,我正在开发一个网站(基本上是一个面向公众的网站)。 我如何模拟多个用户在我的网站上冲浪并进行各种活动,以便了解我的网站在实时环境中的行为 我使用的是Apache服务器和PHP。您需要的是一个负载测试工具,有几种,但我要检查一下。您还可以使用和各种方式自动运行selenium测试我建议使用gatling进行负载测试。它是基于scala的,但是提供了一个记录器来生成工作负载测试用例 =>为测试工具评估设置一些维度以模拟用户流量非常重要: SLA详细信息(性能目标,如每秒页面数(PPS)、每秒htt

我正在开发一个网站(基本上是一个面向公众的网站)。 我如何模拟多个用户在我的网站上冲浪并进行各种活动,以便了解我的网站在实时环境中的行为


我使用的是Apache服务器和PHP。

您需要的是一个负载测试工具,有几种,但我要检查一下。您还可以使用和各种方式自动运行selenium测试

我建议使用gatling进行负载测试。它是基于scala的,但是提供了一个记录器来生成工作负载测试用例


=>

为测试工具评估设置一些维度以模拟用户流量非常重要:

  • SLA详细信息(性能目标,如每秒页面数(PPS)、每秒http请求数(HPS)、吞吐量、CPU使用率等)
  • 要模拟的虚拟用户大小(您需要此信息来决定虚拟用户的数量) 根据虚拟用户编号,从PC/VM,换句话说,称为负载生成器 射程)
  • 脚本相对于更改的维护成本
  • 开发和执行测试脚本的努力
  • 测试场景的数量
  • 计划需求(您可能希望定期或定期计划工具) 如果需要,执行按需测试)
  • 测试工具许可和ROI(投资回报)计算预算(价格、工具 专业技能成本、测试工具在其他web应用程序上的利用率等)
  • 测试工具提供的度量
  • 网络、服务器和客户端的监控要求
  • 与当前测试基础架构集成(如果存在HP ALM,您可能对Loadrunner感兴趣)
如果您很匆忙,没有时间评估要选择的工具,可以从JMeter开始


Selenium可以用于回归测试的测试自动化,我想强调的是,由于其API,它对性能测试无效。Sahi是测试自动化的另一种选择。

由于这是您第一次参与这项任务,您最好找一位曾经参与过这项工作的人,完成这项工作并从这项活动中留下战痕。对一个软件进行性能测试不是一件小事。如果你听传统软件供应商的话,他们会告诉你“任何业务分析师都可以使用此工具,而且非常有效”,就好像此工具是成功测试应用程序或站点所需技能的85-95%。这是消除销售障碍的营销工具

实际上,你选择的工具占你成功所需的全部技能的5-15%。此外,如果失败的财务风险足够高,足以保证性能测试,那么选择哪种工具几乎无关紧要,因为工具和专业知识的成本将与不扩展的财务风险相形见绌

<> P>如果您没有时间开发技能或足够的前置时间来获得一个坚实的性能测试人员,那么您可能需要考虑市场上的一些托管服务产品,如SOASTA,它可以提供在交易中捆绑的专业知识和工具。以下是您在任何测试之前需要了解的一些事项(常见问题)

  • 负载平衡器配置错误,导致一个节点的负载失真
  • 未正确管理静态资源(.jpg、.css、…)的缓存时间,导致负载高于预期

  • 对数据库的所有查找查询都应该进行索引优化。使用数据库探查器检查此问题
  • 持有资源的时间太长。如果第95百分位页到页请求延迟为5分钟,则不要将HTTP会话的超时设置为30分钟或90分钟。这将在死会话中占用资源太长时间。我使用第95百分位值乘以1.5的经验法则
  • 如果这是一个购物网站,那么不要将默认购物车分发给所有出现的人。在你给他们一辆购物车之前,确保他们在收入路径上,比如看购物车或者在购物车里放东西。否则,您就与每个客户建立了1:1的关系,并且几乎与您的体系结构的每个部分建立了1:1的关系,从web服务器到应用服务器,再到创建和管理购物车的数据库服务器
  • 同样在购物车前部,执行100x100规则。如果有人在购物车里有100件物品,拿起电话,打电话给他们,让他们个性化销售。如果你有一辆永不过时的车,那就考虑实施一个100天的规则,从那个年龄段的车上撤离,或者在那一段时间里还没有碰过一辆手推车。这些人显然不在收入道路上
  • 考虑一下你的电子商务设计。从加入购物车到结帐的每一步都是放弃销售的机会。步骤越少,转化率就越高:这就是亚马逊一键结账背后的天才。尽量减少你的步骤,你会看到一个更高的收入流作为结果

我认为您肯定在寻找Blazemeter这样的负载测试工具。我最近发现了一个webinar,它向您展示了如何使用PaaS提供程序作为开发和运行时环境对应用程序进行负载测试,您可以在其中部署应用程序以运行负载测试。他们将Blazemeter与监控工具New Relic(本例中为New Relic)相结合,以查看您检测在您的网站上冲浪的新用户的方式。这真的很酷,也很有趣,因为你可以知道你的应用程序在特定的基础设施上的性能如何。

如前几篇文章所述,你需要一个负载测试工具。好消息是在这个领域有很多工具和服务:开源负载测试工具,如JMeter和Gatling,商业工具,如Loadrunner和Neoload,坏消息是你必须回答一些问题并做出一些决定

一个关键的决定是你