`
zhanglei_2008
  • 浏览: 27050 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Tomcat性能调优(三)

阅读更多
容量计划

  容量计划是在生产环境中使用Tomcat不得不提的提高性能的另一个重要的话题。如果你没有对预期的网络流量下的硬件和带宽做考虑的话那么无论你如何做配置修改和测试都无济于事。

  这里先对提及的容量计划作一个简要的定义:容量计划是指评估硬件、操作系统和网络带宽,确定应用服务的服务范围,寻求适合需求和软件特性的软硬件的一项活动。因此这里所说的软件不仅包括Tomcat,也包括与Tomcat结合使用的任何第三方web服务器软件。

如果在购买软硬件或部署系统前你对容量计划一无所知,不知道现有的软硬件环境能够支撑多少的访问量,甚至更糟直到你已经交付并且在生产环境上部署产品后才意识到配置有问题时再进行变更可能为时已晚。此时只能增加硬件投入,增加硬盘容量甚至购买更好的服务器。如果事先做了容量计划那么就不会搞的如此焦头烂额了。

  我们这里只介绍与Tomcat相关的内容。

  首先为了确定Tomcat使用机器的容量计划,你应该从一下列表项目种着手研究和计划:

  1. 硬件

  采用什么样的硬件体系?需要多少台计算机?使用一个大型的,还是使用多台小型机?每个计算机上使用几个CPU?使用多少内存?使用什么样的存储设备,I/O的处理速度有什么要求?怎样维护这些计算机?不同的JVM在这些硬件上运行的效果如何(比如IBM AIX系统只能在其设计的硬件系统上运行)?

  2. 网络带宽

  带宽的使用极限是多少?web应用程序如何处理过多的请求?

  3. 服务端操作系统

  采用哪种操作系统作为站点服务器最好?在确定的操作系统上使用哪个JVM最好?例如,JVM在这种系统上是否支持本地多线程,对称多处理?哪种系统可使web服务器更快、更稳定,并且更便宜。是否支持多CPU?

Tomcat容量计划

  以下介绍针对Tomcat做容量计划的步骤:

  1) 量化负载。如果站点已经建立并运行,可以使用前面介绍的工具模仿用户访问,确定资源的需求量。

  2) 针对测试结果或测试过程中进行分析。需要知道那些请求造成了负载过重或者使用过多的资源,并与其它请求做比较,这样就确定了系统的瓶颈所在。例如:如果servlet在查询数据库的步骤上耗用较长的时间,那么就需要考虑使用缓冲池来降低响应时间。

  3) 确定性能最低标准。例如,你不想让用户花20秒来等待结果页面的返回,也就是说甚至在达到访问量的极限时,用户等待的时间也不能超过20秒种(从点击链接到看到返第一条返回数据)。这个时间中包含了数据库查询时间和文件访问时间。同类产品性能在不同的公司可能有不同的标准,一般最好采取同行中的最低标准或对这个标准做出评估。

  4) 确定如何合理使用底层资源,并逐一进行测试。底层资源包括CPU、内存、存储器、带宽、操作系统、JVM等等。在各种生产环境上都按顺序进行部署和测试,观察是否符合需求。在测试Tomcat时尽量多采用几种JVM,并且调整JVM使用内存和Tomcat线程池的大小进行测试。同时为了达到资源充分合理稳定地使用的效果,还需针对测试过程中出现的硬件系统瓶颈进行处理确定合理的资源配置。这个过程最为复杂,而且一般由于没有可参考的值所以只能靠理论推断和经验总结。

  5) 如果通过第4步的反复测试如果达到了最优的组合,就可以在相同的生产环境上部署产品了。

  此外应牢记一定要文档化你的测试过程和结果,因为此后可能还会进行测试,这样就可以拿以前的测试结果做为参考。另外测试过程要反复多次进行,每次的条件可能都不一样,因此只有记录下来才能进行结果比较和最佳条件的选择。

  这样我们通过测试找到了最好的组合方式,各种资源得到了合理的配置,系统的性能得到了极大的提升。

六. 附加资料

  很显然本文也很难全面而详尽地阐述性能优化过程。如果你进行更多研究的话可能会把性能调优做的更好,比如Java程序的性能调整、操作系统的调整、各种复杂环境与应用系统和其它所有与应用程序相关的东西。在这里提供一些文中提到的一些资源、文中提到的相关内容的链接以及本文的一些参考资料。

  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
分享到:
评论

相关推荐

    tomcat性能调优总结

    "Tomcat性能调优总结" Tomcat性能调优是指对 Tomcat 服务器的性能进行调整和优化,以提高其处理能力和响应速度。Tomcat 的性能调整可以分为两类:外部环境调整和自身调整。外部环境调整包括调整非 Tomcat 组件,如...

    Tomcat性能调优方案

    一、操作系统调优 二、Java虚拟机调优 三、Apache集成Tomcat 四、Apache和Tomcat集群 五、Tomcat自身优化 六、APR库使用

    Tomcat性能调优

    **Tomcat性能调优**是Web服务器领域中的一个重要话题,特别是在处理高并发和大数据量的Web应用时。Tomcat作为一款流行的开源Java Servlet容器,其性能优化能够显著提升应用程序的响应速度和整体效率。以下是对Tomcat...

    Tomcat性能调优实战总结

    【Tomcat性能调优实战总结】 Tomcat性能调优是一个涉及多方面技术的复杂过程,主要包括对外部环境的调整和Tomcat自身配置的优化。在实际应用中,我们需要通过压力测试来评估系统的性能表现,然后根据测试结果进行...

    tomcat7性能调优

    【Tomcat7性能调优】是一项关键的任务,它关乎服务器的稳定性和响应速度。Tomcat作为流行的Java应用服务器,其性能优化能显著提升应用程序的运行效率。本文将深入探讨如何针对Tomcat7进行调优。 首先,我们关注的是...

    通向架构师的道路(第四天)之Tomcat性能调优-让小猫飞奔.docx

    【标题】:“通向架构师的道路(第四天)之Tomcat性能调优-让小猫飞奔.docx” 【描述】:本篇文档是关于如何优化Apache Tomcat以提升其性能,使它能够处理更高的并发用户量并实现性能显著提升的技术指南。作者提到...

    Tomcat性能调优方案[参考].pdf

    Tomcat性能调优方案 一、操作系统调优 操作系统调优是指通过调整操作系统的设置来提高服务器的性能。对于操作系统优化来说,需要尽可能地增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。通过...

    使用visualvm工具进行tomcat性能调优和性能监控.docx

    使用 VisualVM 工具进行 Tomcat 性能调优和性能监控 本文主要介绍了如何使用 VisualVM 工具来进行 Tomcat 的性能调优和性能监控。下面将详细介绍相关知识点: 一、JDK 内存优化 在 Tomcat 中,默认的堆大小为 128...

    tomcat7 优化 性能调优

    ### Tomcat7 优化与性能调优 #### 一、引言 在现代Web应用开发中,Apache Tomcat因其轻量级、灵活且易于部署的特点成为开发者们的首选应用服务器之一。然而,在面对高并发访问场景时,如何有效地优化Tomcat以提高...

    JVM优化3(Tomcat参数调优,JVM参数调优,jvm字节码,代码优化).pdf

    本篇文件内容主要介绍了JVM优化的第三部分,重点围绕Tomcat参数调优、JVM参数调优、JVM字节码优化以及代码优化等几个方面。下面是针对这些知识点的详细解释: 1. Tomcat参数调优 在Tomcat参数调优部分,首先介绍了...

    Tomcat 调优及 JVM 参数优化

    这篇文章将深入探讨Tomcat调优与JVM参数优化的各个方面,帮助你提升服务器性能。 首先,我们来了解一下Tomcat调优的基础知识。Tomcat调优主要包括以下几个方面: 1. **线程池配置**:调整`maxThreads`和`...

    Tomcat7性能优化

    ### Tomcat7性能优化策略详解 #### 一、引言 在现代Web应用开发中,Tomcat作为一款广泛使用的开源...希望这些方法能够帮助开发者们更好地理解和掌握Tomcat性能优化的关键技术,从而为用户提供更加稳定高效的Web服务。

Global site tag (gtag.js) - Google Analytics