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

Ste*_*han 15 testing performance stress-testing load-testing

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

当然,这些问题是非常合理的,我总是尽力使用这些问题来回答这些问题

  • 历史数据(谷歌分析/ IIS日志)
  • 网络负载测试工具
  • 服务器性能计数器
  • 经验
  • 直觉
  • 常识
  • 我们的系统管理员提供了一些帮助
  • 我个人对有关软件架构的理解

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

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

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

Ste*_*anE 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/