性能测试与性能优化

测量web服务器的性能是一项让人感到畏缩的任务,但是我们在这里将给出一些需要注意的地方并且指点你了解其中更多的细节性的内容。它不像一些简单的任务,如测量CPU的速率或者是测量程序占用CPU的比例,web服务器的性能优化中包括许调整许多变量来达到目标。许多的测量策略中都包含了一个看似简单的浏览实际上是在向服务器发送大量的请求,我们称之为客户端的程序,来测量响应 时间。客户端和服务器端是在同一台机器上吗?服务器在测试的时候还运行着其它的什么程序吗?客户端和服务器端的通讯是通过局域网,100baseT,10baseT还是使用调制解调器?客户端是否一直重复请求相同的页面,还是随机地 访问不同的页面?(这些影响到了服务缓存的性能)客户端发送请求的有规律的还是突发的?你是在最终的配置环境下运行服务的还是在 调试的配置环境下运行服务的?客户端请求中包含图片还是只有HTML页面?是否有请求是通过servlets和 JSP的,CGI程序,服务端包含(Server-Side Includes ,SSI是一个可以让你使用动态HTML 文件的技术)?所有这些都将是我们要关心的,并且几乎我们不可能精确地把所有的问题都清楚地列出来。

大多数web压力测试工具的实现原理都是通过重复的大量的页面请求来模拟多 用户对被测 系统的并发访问,以此达到产生压力的目的。产生压力的手段都是通过录制或者是编写压力脚本,这些脚本以多个 进程或者线程的形式在客户端运行,这样通过人为制造各种类型的压力,我们可以观察被测系统在各种压力状况下的表现,从而定位系统瓶颈,作为系统调优的基础。目前已经存在的性能测试工具林林总总,数量不下一百种,从单一的开放 源码的免费小工具如 A apache 自带的 web 性能测试工具 Apache Benchmark、开源的Jmeter 到大而全的商业性能测试软件如 Mercury 的 LoadRunner 等等。任何性能测试工具都有其优缺点,我们可以根据实际情况挑选用最合适的工具。您可以在这里找到一些web压力测试工具http: //www.softwareqatest.com/qatweb1.html#LOAD
这里我们所使用的工具要支持web应用服务认证才可以,要支持接收发送cookies,不仅如此Tomcat支持多种认证方式,比如基本认证、基于表单的认证、相互认证和客户端认证,而一些工具仅仅支持HTTP基本认证。真实地模拟用户认证是性能测试工具的一个重要的部分,因为认证机制将对一个web站点的性能特征产生重要的影响。基于你在产品中使用的不同的认证方式,你需要从上面的工具列表中选择使用这种特性的测试工具。
Apache Benchmark和http_load是 命令行形式的工具,非常易于使用。Apache Benchmark可以模仿单独的URL请求并且重复地执行,可以使用不同的命令行参数来控制执行迭代的次数,并发用户数等等。它的一个特点是可以周期性地打印出处理过程的信息,而其它工具只能给出一个全局的报告。

1. Web性能测试资料及工具
  1) Jmeter Wiki首页,Jmeter为一个开源的100%Java开发的性能测试工具
  
http://wiki.apache.org/jakarta-jmeter/
  2) Apache Benchmark使用说明
  
http://httpd.apache.org/docs-2.0/programs/ab.html
  3) 一些Java相关测试工具的介绍,包含可以与Tomcat集成进行测试的工具
  
http://blog.csdn.net/wyingquan/
  4) LoadRunner® 是一种预测系统行为和性能的工业标准级负载测试工具。它通过模拟数据以千万计用户来实施并发负载来对整个企业架构进行测试,来帮助您更快的查找和发现问题。
  
http://www.mercury.com/us/products/performance-center/loadrunner/
   2. 文中介绍的相关内容的介绍
  1) Apache 2.x + Tomcat 4.x做负载均衡,描述了如何利用jk配置集群的负载均衡。
  
http://raibledesigns.com/tomcat/index.html
  2) 容量计划的制定,收集了许多有关制定web站点容量计划的例子:
  
http://www.capacityplanning.com/
  3) 评测Tomcat5负载平衡与集群,
  
http://www.javaresearch.org/article/showarticle.jsp?column=556&thread=19777
  4) Apache与Tomcat的安装与整合之整合篇
  
http://www.javaresearch.org/article/showarticle.jsp?column=23&thread=18139
  5) 性能测试工具之研究,介绍了性能测试工具的原理与思路
  
http://www.51testing.com/emagzine/No2_2.htm
  6) Java的内存泄漏
  
http://www.matrix.org.cn/resource/article/409.html
  7) Web服务器和应用程序服务器有什么区别?
  
http://www.matrix.org.cn/resource/article/1429.html
  8) 详细讲解性能中数据库集群的问题
  
http://www.theserverside.com/articles/article.tss?l=DB_ Break

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值