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

请有人建议我如何判断应用程序性能的正式/非正式标准。

有帮助吗?

解决方案

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

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

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

其他提示

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

当然Firebug也是必不可少的。您可以通过点击配置文件按钮显式或实时地配置您的 JS。在必要时进行优化,并查看所有函数运行需要多长时间。这改变了我衡量 JS 代码性能的方式。 http://getfirebug.com/js.html

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

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

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

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

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

这又回到了需求问题,即用户社区对合理和有效的期望。需求有许多组成部分

  1. 一般响应时间,“在......的负载下站点的一般响应时间应小于 x, y% 的时间......”
  2. 具体响应时间,“在......的负载下信用卡处理时间应少于 z 秒,占时间的 %...”
  3. 系统容量项目,“在......的负载下CPU|网络|RAM|磁盘不得超过容量的n%....”
  4. 负载配置文件是用户数量和将发生的事务的组合,在负载配置文件下收集特定的、客观的度量来确定系统性能。

您会注意到响应时间和其他措施并不是绝对的。借鉴六西格玛制造原则,从百万分之一异常转变为十亿分之一异常的成本是巨大的,而转向零异常的成本通常是普通组织无法承受的。对于您的组织来说,独特的应用程序被认为可接受的响应时间可能与高度商品化的产品(面向公共互联网的应用程序)完全不同。对于竞争激烈的解决方案,互联网上的响应时间预期趋​​向于 2-3 秒,此时用户放弃率会严重上升。在过去十年中,该时间已从 8 秒下降到 4 秒,现在已降至 2-3 秒范围。出于竞争原因,一些应用程序(例如 Facebook)将响应时间控制在亚一秒范围内,几乎难以察觉。如果您正在寻找硬性标准,那么它们根本不存在。

阅读一些有关风格、形式和功能的行业基准将有助于您的理解。

设置一组可靠的性能测试来代表您的需求并不是一件小事。您可能需要聘请专家来处理此阶段的质量检查工作。

在选择工具时,请确保您拥有一个可以

  • 锻炼你的界面
  • 根据您的要求进行报告
  • 您或您的团队拥有可以使用的技能
  • 您可以接受培训并将在管理层的同意下参加

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

祝你好运!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top