WEB应用程序测试与优化

发表于:2009-04-21来源:作者:点击数: 标签:webWebWEB应用程序
首先,这里有两个web应用程序 性能 方面的重要指标。请注意,下面的“定义”并不规范,仅供参考。 * Response Time - 响应时间 从初始化请求到完成响应所用的时间。这是一个测试WEB应用程序速度的重要 度量 。 * Scalability - 伸缩性 一个可伸缩的应用程序的
首先,这里有两个web应用程序性能方面的重要指标。请注意,下面的“定义”并不规范,仅供参考。

  * Response Time - 响应时间

  从初始化请求到完成响应所用的时间。这是一个测试WEB应用程序速度的重要度量

  * Scalability - 伸缩性

  一个可伸缩的应用程序的响应时间随负载的增加而线性增加。

  没有WEB应用程序可以处理无限数目的请求,但是一般我们可以预测一个范围,并保证我们的WEB应用程序可以在此范围内“优雅”的伸缩,即始终把响应时间维持在可接受的级别。

  如果我们打算优化我们的WEB应用程序,那么至少我们应该知道它到底该不该优化。压力测试可以解答这个问题。

  * Load Test - 压力测试

  为WEB应用程序模拟用户请求以测量其伸缩性的过程。

  它非常有用,虽然开始的时候会觉得有点“变态”。一般我们会模拟大量的用户请求以获得在WEB应用程序的速度恶化到无法接受的级别前能够处理的并发请求数量。

  所谓“无法接受的级别”并不是一定要到实例池崩溃、应用服务器瘫痪甚至服务器当机的时候,这要视需求而定。

  一般压力测试包含如下步骤:

  * 确定接受请求并完成响应的最大允许的延时。

  * 估计WEB应用程序的最大并发用户数量。

  * 模拟用户请求,以一个比较小的负载开始,逐渐增加模拟用户的数量,

  直到WEB应用程序的 相应延时超过最大延时。

  * 如果负载比估计的用户数量小,那么应该优化这个WEB程序,否则你选择性的执行优化。

  你不会在考虑自己写一个测试程序吧?算了,何必再重新发明一次轮子?这里有一些压力测试工具,它们各有特色,先介绍免费的:

  * Web Application Stress Tool, Microsoft,

  * JMeter, Java Apache Project

  * AutoRunner

原文转自:http://www.ltesting.net