Performance 您对Web应用程序使用的性能测试方法是什么?

Performance 您对Web应用程序使用的性能测试方法是什么?,performance,web-applications,methodology,Performance,Web Applications,Methodology,我想测试一个典型的web应用程序的性能。该应用程序提供了一些web2.0功能,比如写博客、维基、搜索内容等等。我分析了访问日志,了解到用户经常在做什么 我脑子里的空白是如何继续?我思考了以下方法: (A) 将功能拆分为 事务(写博客、查看 维基网页等) (B) 使用运行这些事务 增加用户数量 (C) 制作一些报告:“查看 具有硬件x的wikipage可能会 由y用户同时执行, 而记忆是界限 “资源” (D) 尝试混合多个事务 进入一个场景,应该是 真实用户的真实映射 装载 (E) 以递增的速度

我想测试一个典型的web应用程序的性能。该应用程序提供了一些web2.0功能,比如写博客、维基、搜索内容等等。我分析了访问日志,了解到用户经常在做什么

我脑子里的空白是如何继续?我思考了以下方法:

  • (A) 将功能拆分为 事务(写博客、查看 维基网页等)
  • (B) 使用运行这些事务 增加用户数量
  • (C) 制作一些报告:“查看 具有硬件x的wikipage可能会 由y用户同时执行, 而记忆是界限 “资源”
  • (D) 尝试混合多个事务 进入一个场景,应该是 真实用户的真实映射 装载
  • (E) 以递增的速度运行此场景 用户,生成与中相同的报告 C

您对此有何看法?您的方法是什么?

您将遇到的问题是如何重复测试所有这些。不可重复的试验(即手动试验)的实用性受到严格限制


看看(发音像“水”);它提供了很好的覆盖范围,并且非常容易编写脚本。

您首先需要知道哪些活动可以在您的站点上执行,更重要的是需要了解这些活动在您的总流量中所占的比例。对于一个简单的博客,你可以这样说:

  • 阅读索引页:30%
  • 阅读帖子:65%
  • 创建评论:4%
  • 创建帖子:1%
然后,您可以使用某种测试框架来模拟此负载,并了解每分钟每秒可以支持多少个请求。这将给你一些关于容量的确切数字。您还可以配置内存/cpu/网络/任何东西,以查看在此期间它们的使用情况


然而,重要的是不要跳过实际的可用性测试。在标准的动态网站thinsg中,如果加载一个页面需要大约半秒的时间,它就会开始感觉缓慢。在一个支持AJAX的站点中,您会发现,用户可获得的反馈数量的增加使他们对延迟有了更高的容忍度,并且需要人类对可接受的限制进行调查才能判断。

这个问题不是关于工具,而是关于方法论。没有工具的方法论只是哲学。此外,您所描述的与其说是一种“方法论”,不如说是一种测试计划,即使如此,它也相当模糊。我敢打赌,您会在进行测试时调整您的测试计划,并且您选择的工具将超过您对测试计划的猜测。我不这么认为。HP LoadRunner是首选工具。这完全独立于如何将完整的功能切割成一个代表性的示例,以实现对应用程序在负载下的行为的真实预测。单元测试也是一样,你不能测试任何东西。谢谢!我从日志文件分析中得到了这些统计值。那么您将把所有这些事务(及其特定分布)放在一个场景中并运行它?您是否也会运行单个事务,可能只读取可能有2000个用户的索引帖子。这会创造价值吗?