Web应用程序性能基准的建议

时间:2008-09-03 14:55:40

标签: performance testing web-applications benchmarking

我即将开始测试Intranet Web应用程序。具体来说,我要确定应用程序的性能。

请有人建议我如何判断申请表现的正式/非正式标准。

4 个答案:

答案 0 :(得分:8)

使用一些工具进行压力和负载测试。如果您正在使用Java,请查看JMeter。它提供了不同的方法来测试应用程序性能。你应该关注:

  • 响应时间:正常请求的应用程序运行速度有多快。测试一些读/写用例
  • 负载测试:您的应用在高流量时间的行为方式。该工具将在一段时间内提交多个请求(您可以正确配置)。
  • 压力测试:您的应用程序可以在很长一段时间内运行吗?此测试将使您的应用程序达到极限

从这开始,如果您有兴趣,还有其他类型的测试。

答案 1 :(得分:3)

要测试前端,YSlow非常适合从用户角度获取页面加载时间的统计信息。它分为每个特定HTTP请求的统计信息,花费的时间等。在http://developer.yahoo.com/yslow/

获取它 当然,萤火虫也很重要。您可以通过点击配置文件按钮显式或实时地描述您的JS。在必要时进行优化,并查看所有功能运行的时间。这改变了我衡量JS代码性能的方式。 http://getfirebug.com/js.html

答案 2 :(得分:3)

我认为最重要的是响应时间,但我会看到的其他指标是处理器和内存使用情况与并发用户/进程数量的关系。我还会检查在正常和峰值负载下是否一切都按预期运行。您可能会遇到由于各种请求相互踩踏而导致更高负载导致应用程序错误的情况。

如果您真的想获得详细信息,您需要运行不同类型的负载/压力测试。您可能希望查看一个步骤负载测试(随着时间的推移逐渐增加系统用户)和一个尖峰测试(大量用户都在同一时间访问,而之前几乎没有人访问它)。我还会在重新启动后立即对服务器运行测试,以查看它对系统的影响。

您可能还想看一个名为HEAT(敌对环境应用程序测试)的概念。实际上,这显示了当系统的某些部分脱机时会发生什么。系统是否成功降级?这应该是一个关键标准。

我的一个非常重要的建议是在进行测试之前确定系统应该做什么。主要原因是问责制。让人们承认系统应该做某事,然后测试它是否成立。这是关键,因为人们会立即看到结果,这将成为可接受的基准。

答案 3 :(得分:3)

“具体来说,我必须确定应用程序的性能......”

这完全围绕了需求问题,以及用户社区对于被认为合理有效的所捕获的期望。要求有许多组件

  1. 一般响应时间,“在......负载下,网站的响应时间应小于x,y%的时间......”
  2. 特定响应时间,“在负载下......信用卡处理时间应少于z秒,%时间......”
  3. 系统容量项目,“在负载下...... CPU |网络| RAM |磁盘不得超过容量的n%......”
  4. 负载配置文件,它是将收集特定的,客观的度量以确定系统性能的用户和事务数量的混合。
  5. 您会注意到响应时间和其他措施不是绝对的。从六位西格玛制造业负责人那里获得一页,从十亿的一个例外变为十亿的一个例外的成本非同寻常,而转向零例外的成本通常是普通组织难以承受的成本。对于您的组织的独特应用程序而言,可接受的响应时间可能与高度商品化的产品完全不同,后者是面向公共互联网的应用程序。对于竞争激烈的解决方案,互联网上的响应时间预期趋​​向于2-3秒,用户放弃严重。在过去十年中,这已从8秒降至4秒,现在已降至2-3秒。由于竞争原因,一些应用程序(如Facebook)会在亚秒级范围内拍摄几乎难以察觉的响应时间。如果您正在寻找一个硬标准,它们就不存在了。

    有助于您理解的东西是阅读风格,形式和功能的几个行业基准。

    设置一组可靠的性能测试来代表您的需求是一件非常重要的事情。您可能需要聘请专家来处理您的QA工作的这一阶段。

    在您的工具选择上,确保您可以选择

    • 锻炼你的界面
    • 根据您的要求举报
    • 您或您的团队有使用技能
    • 您可以接受培训并参加管理层的祝福

    上述四个元素中的任何一个都会失败,您也购买了市场上最昂贵的工具,并聘请了最昂贵的公司来部署它。

    祝你好运!