性能测试——一种方法?

软件测试 工具 自动化测试 表现 负载测试
2022-01-21 15:29:34

我们有一个基于浏览器的应用程序,它建立在 Microsoft Stack,特别是 .NET 3.5 之上。它还使用 Ajax、iframe、jQuery 等。

目前我们只是在猜测我们的应用程序/服务器架构可以提供的并发率。这让每个人都感到紧张,如果能算出一个更准确的数字,那就太好了。并发,我的意思是 X 数量的用户同时登录。具体来说,我需要知道在用户体验变得非常糟糕或服务器崩溃等之前服务器/应用程序可以接收多少并发用户。

我们可以使用任何简单的工具/服务来获取这些信息吗?

我以前没有性能/负载测试的经验,因为它总是由专业人员完成。这是需要几个月学习/设置工具的事情吗?

4个回答

有很多性能测试工具:

大多数情况下,设置非常简单。您可以在本地 VM 上运行这些包中的每一个;但是,如果您想模拟大量流量,您需要一台具有更多 RAM 和处理器的机器。

由于这是一个 AJAX 应用程序,您可能必须模拟磁盘上可能争用的资源。功能测试可能会为您执行此操作,但如果您对服务器和堆栈如何响应感兴趣,那么您如何制作负载请求很重要。

您不应该关注并发率,而应该尝试获取流量统计信息,例如访问量、活动量等。如果您已经有一个站点正在运行,您可以分析服务器日志或您的应用程序可能编写的任何审计跟踪。当您的网站仍处于离线状态而您只想上线时,您必须对流量提出一些期望。

这些数字将使您了解要模拟的内容。

但是,如果我的问题是正确的,那么您正在寻找一种方法来从您的应用程序中获得可能的最大吞吐量,以了解您对它的期望,而不是提供数字并试图证明您可以制作数字。正确的?

这基本上需要进行性能测试,您必须首先设定您的期望:

  • 什么仍然是可接受的性能(响应时间限制)
  • 应用程序的标准场景是什么,您预期什么样的使用模式
  • 根据使用模式,您可以期待什么样的数据增长
  • 一开始你的标准部署场景是什么,你想要我们什么硬件(因为你还不知道,你需要什么,你必须先设置一些东西)

基于此,您可以开发性能场景并运行它。如果您以前从未做过测试,那么您不应该期望得到问题的答案,而是会发现围绕应用程序的大量问题。修复后,您将得到问题的答案并得到一个想法,而不是一个固定的数字。

您可能还喜欢我关于获取负载测试数字的文章,包括一些关于并发的想法:http: //blog.xceptance.de/2011/06/07/get-the-right-load-mix-out-of- a-few-numbers/这有点以电子商务为中心......但可能会让您仍然了解您可能需要什么或没有数字可以做什么。

当您使用 Microsoft 堆栈时,我必须推荐 Microsoft Visual Studio 工具包。Visual Studio 附带的负载测试工具将连接到盒子上的性能计数器。这些工具包括来自 asp.net 团队的指导,当达到某些阈值(例如发生过多的垃圾收集)时,会以关键警告的形式提供指导。

您还应该查看有关 ASP.net 性能的 Microsoft 模式和实践文档,因为那里有很多关于性能问题的良好指导。

我曾在 VSTT 工作,并为 OLTP 应用程序进行过性能测试。VSTT 有很好的关于 web 测试、负载测试的资料和文章