Web应用程序负载测试的最佳实践和文献

时间:2011-01-04 19:37:27

标签: performance testing load-testing stress-testing

作为一名网络开发人员,我曾被问过(在我的职业生涯中有几次)关于我们构建的网站的性能。 有时你会得到一些半模糊的问题,比如“即使在产品发布周期间网站会继续表现良好吗?”,“网站能否处理百万用户?”,甚至“该网站是如何运作的?

当然,这些问题都是非常合法的,而且我总是尽力使用

的组合来回答这些问题。
  • 历史数据(谷歌分析/ IIS日志)
  • 网络负载测试工具
  • 服务器性能计数器
  • 体验
  • 直觉
  • 常识
  • 来自我们的系统管理员的一点帮助
  • 我个人对有问题的软件架构的理解

我通常能够为这些问题找到合理的答案。 但是,Web应用程序性能可能会受到许多因素的影响(数据库依赖性,缓存策略,并发性问题,等等,用户行为)。

我是程序员而不是静态的,我对这个问题的态度总是深深地感觉到不科学。所以我做了一些更多的研究......当我真正想要一种理解这些东西的方式时,我的所有谷歌搜索结果似乎都集中在工具,功能和指标(以及更多指标)

问题: 有哪些好的资源(书籍?)可以阅读开发人员阅读Web负载测试主题的最佳实践,这将有助于我回答这些类型的问题?

4 个答案:

答案 0 :(得分:9)

首先,您的问题证明您确实理解了这个问题。创建工具,脚本等以产生负载有时会非常棘手,但真正的挑战在于评估结果和监控内容。

您的问题的一个非常简单的答案可能是在类似于当前或预期用途的类似生产的环境中生成负载。如果它运行正常没有任何崩溃或缓慢的性能通常是足够好的。之后,增加负载以查看限制的位置。

当你达到极限时,我的经验是这纯粹是一个项目预算问题。我们是否会投入更多时间/金钱/资源等来评估原因。

我作为测试专家工作,我建议尊重负载测试作为开发过程的重要部分,但不幸的是,这并不总是符合管理层的决定。

所以你的问题的答案是,几乎每个人都需要参与这个过程: 开发人员监控他们的代码;系统管理员需要监控CPU,内存使用情况等; DBA;网络人员;等等。他们都可能需要自己的知识来源才能记录和分析所有这些信息。

一些书籍提示:

应用程序性能测试的艺术:帮助程序员和质量保证 http://www.amazon.com/exec/obidos/ASIN/0596520662/

容量规划的艺术:扩展Web资源 http://www.amazon.com/exec/obidos/ASIN/0596518579/

Web应用程序性能测试指南 http://www.amazon.com/exec/obidos/ASIN/0735625700/

答案 1 :(得分:2)

你见过:

J.D. Meier,Carlos Farre,Prashant Bansode,Scott Barber和Dennis Rea对Web应用程序的性能测试指南

它甚至可以在网上免费获得。 http://msdn.microsoft.com/en-us/library/bb924375.aspx

答案 2 :(得分:1)

您可以模拟典型的用户行为,并使用其中一种云服务模拟网站上的大量用户,以查看您的网站与大量用户的处理情况。我听说亚马逊的服务很不错

答案 3 :(得分:1)

我可以推荐2010年出版的两本书:

第一个是"ASP.NET SITE PERFORMANCE SECRETS"Matt Perdeck,于2010年秋末发布。它是从性能优化的角度编写的,但也有关于负载测试的详细资料。这是一本免费的PDF电子书。

第二本书是".NET Performance Testing and Optimization - The Complete Guide",作者是Paul Glavich,Chris Farrell。“它是完整的性能/负载测试来源